diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.classpath b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.classpath
index ad32c83..eca7bdb 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.classpath
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.classpath
@@ -1,6 +1,6 @@
 <?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="output" path="bin"/>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.settings/org.eclipse.jdt.core.prefs b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.settings/org.eclipse.jdt.core.prefs
index c537b63..9f6ece8 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,8 @@
 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.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.6
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/META-INF/MANIFEST.MF b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/META-INF/MANIFEST.MF
index 0ce74aa..dead0b8 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/META-INF/MANIFEST.MF
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.papyrus.designer.languages.c.codegen.ui;singleton:=true
-Bundle-Version: 1.1.1.qualifier
+Bundle-Version: 0.8.1.qualifier
 Bundle-Activator: org.eclipse.papyrus.designer.languages.c.codegen.ui.Activator
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui,
@@ -10,6 +10,7 @@
  org.eclipse.papyrus.uml.diagram.common;bundle-version="2.0.0",
  org.eclipse.papyrus.designer.languages.common.base;bundle-version="0.7.0",
  org.eclipse.papyrus.designer.languages.common.extensionpoints
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %providerName
+Export-Package: org.eclipse.papyrus.designer.languages.c.codegen.ui.preferences
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/plugin.xml b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/plugin.xml
index 83d4353..75d5363 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/plugin.xml
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/plugin.xml
@@ -1,39 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
-    <extension
-         point="org.eclipse.ui.menus">
-      <menuContribution
-            allPopups="false"
-            locationURI="popup:org.eclipse.papyrus.designer.popup?after=codegen">
-          <command
-               commandId="org.eclipse.papyrus.designer.languages.c.codegen.command"
-               icon="icons/codegen.gif"
-               label="Generate C code"
-               style="push"
-               tooltip="Generate C code">
-            <visibleWhen
-                  checkEnabled="true">
-            </visibleWhen>
-         </command>
-      </menuContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Generate C code"
-            categoryId="org.eclipse.papyrus.editor.category"
-            id="org.eclipse.papyrus.designer.languages.c.codegen.command"
-            defaultHandler="org.eclipse.papyrus.designer.languages.c.codegen.ui.handlers.GenerateCodeHandler"
-            name="Generate C code">
-      </command>
-   </extension>
-     <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory"
-            class="org.eclipse.papyrus.designer.languages.c.codegen.ui.preferences.CodegenPreferencePage"
-            id="org.eclipse.papyrus.designer.languages.c.codegen.ui.preferences.CodeGenPreferencePage"
-            name="C code generation"/>
-   </extension>
+	<extension point="org.eclipse.ui.preferencePages">
+		<page
+			category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory"
+			class="org.eclipse.papyrus.designer.languages.c.codegen.ui.preferences.CodegenPreferencePage"
+			id="org.eclipse.papyrus.designer.languages.c.codegen.ui.preferences.CodeGenPreferencePage"
+			name="C code generation">
+		</page>
+	</extension>
 </plugin>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/handlers/GenerateCodeHandler.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/handlers/GenerateCodeHandler.java
deleted file mode 100644
index 20d52a4..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/handlers/GenerateCodeHandler.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 - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.ui.handlers;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.designer.languages.c.codegen.transformation.CModelElementsCreator;
-import org.eclipse.papyrus.designer.languages.c.codegen.utils.LocateCProject;
-import org.eclipse.papyrus.designer.languages.common.base.ClassUtils;
-import org.eclipse.papyrus.uml.diagram.common.handlers.CmdHandler;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Package;
-import org.eclipse.uml2.uml.PackageableElement;
-
-/**
- * Handler for C code generation
- */
-public class GenerateCodeHandler extends CmdHandler {
-
-	private static final boolean Headless = Boolean.getBoolean("papyrus.run-headless");
-
-	// ------------------------------------------------------------------------
-	// Execution
-	// ------------------------------------------------------------------------
-
-	@Override
-	public boolean isEnabled() {
-		updateSelectedEObject();
-
-		if (selectedEObject instanceof Package || selectedEObject instanceof Classifier) {
-			URI uri = selectedEObject.eResource().getURI();
-
-			// URIConverter uriConverter = resource.getResourceSet().getURIConverter();
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			if (uri.segmentCount() < 2) {
-				return false;
-			}
-			IProject modelProject = root.getProject(uri.segment(1));
-			return modelProject.exists();
-		}
-
-		return false;
-	}
-
-	/**
-	 * Generate code for a passed packageable element and the elements required by it (in the sense of #included statements)
-	 *
-	 * @param mec
-	 *            model elements creator
-	 * @param pe
-	 *            the element that should be generated
-	 * @param alreadyHandled
-	 *            list of packageable elements for which code has already been generated.
-	 * @param recurse
-	 *            if the passed packageableElement is a package, generate code for its contents (recursively).
-	 */
-	public void generate(CModelElementsCreator mec, PackageableElement pe, EList<PackageableElement> alreadyHandled, boolean recurse) {
-		alreadyHandled.add(pe);
-		mec.createPackageableElement(pe, null, recurse);
-		// Eventual refresh is done in createPackageableElement
-	
-		
-		if (pe instanceof Classifier) {
-			EList<Classifier> requiredClassifiers = ClassUtils.requiredClassifiers((Classifier) pe);
-			for (Classifier requiredClassifier : requiredClassifiers) {
-				if (!alreadyHandled.contains(requiredClassifier)) {
-					generate(mec, requiredClassifier, alreadyHandled, false);
-				}
-			}
-		}
-
-		// owning package is required by generated code.
-		Package owningPackage = pe.getNearestPackage();
-		if ((owningPackage != null) && (owningPackage != pe)) {
-			if (!alreadyHandled.contains(owningPackage)) {
-				generate(mec, owningPackage, alreadyHandled, false);
-			}
-		}
-	}
-
-	@Override
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-
-		if (selectedEObject instanceof PackageableElement) {
-			PackageableElement pe = (PackageableElement) selectedEObject;
-
-			IProject modelProject = LocateCProject.getTargetProject(pe, true);
-			if (modelProject == null) {
-				return null;
-			}
-			
-			// get the container for the current element
-			CModelElementsCreator mec = new CModelElementsCreator(modelProject);
-			generate(mec, pe, new BasicEList<PackageableElement>(), true);
-
-			// TODO: need a way to get error messages
-			if (false && !Headless) {
-				Display.getDefault().syncExec(new Runnable() {
-					@Override
-					public void run() {
-						MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Errors during code generation", //$NON-NLS-1$
-								"Errors occured during code generation. Please check the error log"); //$NON-NLS-1$
-					}
-				});
-			}
-		}
-		return null;
-	}
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.java
index d62ff74..e86065d 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/src/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.java
@@ -43,7 +43,7 @@
 	public CodegenPreferencePage() {
 		super(GRID);
 		setPreferenceStore(Activator.getDefault().getPreferenceStore());
-		setDescription("This preferences page allows to customize Papyrus C code generation");
+		setDescription("This preferences page allows to customize Papyrus C code generation"); //$NON-NLS-1$
 	}
 
 	public void addTextField(String name, String label, Document currentDoc) {
@@ -78,6 +78,7 @@
 	 * editor knows how to save and restore itself.
 	 */
 
+	@SuppressWarnings("nls")
 	@Override
 	public void createFieldEditors() {
 
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/Activator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/Activator.class
deleted file mode 100644
index e34ddaa..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/Activator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/handlers/GenerateCodeHandler.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/handlers/GenerateCodeHandler.class
deleted file mode 100644
index 115f197..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/handlers/GenerateCodeHandler.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.class
deleted file mode 100644
index 0a0614e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen.ui/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/ui/preferences/CodegenPreferencePage.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/META-INF/MANIFEST.MF b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/META-INF/MANIFEST.MF
index defc6bd..f6273f4 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/META-INF/MANIFEST.MF
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.papyrus.designer.languages.c.codegen;singleton:=true
-Bundle-Version: 1.1.1.qualifier
+Bundle-Version: 0.8.1.qualifier
 Bundle-Activator: org.eclipse.papyrus.designer.languages.c.codegen.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -24,8 +24,9 @@
  org.eclipse.xtend.lib,
  org.eclipse.xtend.lib.macro,
  org.eclipse.papyrus.designer.languages.common.base;bundle-version="0.7.0",
- org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.100"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+ org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.100",
+ org.eclipse.papyrus.designer.languages.common.profile;bundle-version="1.1.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Eclipse-LazyStart: true
 Export-Package: org.eclipse.papyrus.designer.languages.c.codegen,
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/pom.xml b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/pom.xml
index e43da96..29917e5 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/pom.xml
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/pom.xml
@@ -1,54 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project>
+<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.languages.c</artifactId>
+		<artifactId>org.eclipse.papyrus.designer.languages</artifactId>
 		<version>1.1.1-SNAPSHOT</version>
 	</parent>
-	<artifactId>org.eclipse.papyrus.designer.languages.c.codegen</artifactId>
-	<packaging>eclipse-plugin</packaging>
-	<description>This module contains a C code generator based on xtend</description>
+	<artifactId>org.eclipse.papyrus.designer.languages.c</artifactId>
+	<packaging>pom</packaging>
+	<name>Designer Languages C</name>
+	<description>This module contains the plugins for C code generation</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>
+	<modules>
+		<module>org.eclipse.papyrus.designer.languages.c.codegen</module>
+		<module>org.eclipse.papyrus.designer.languages.c.codegen.ui</module>
+	</modules>
 </project>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.di b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.di
index 0812886..8c549ee 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.di
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.di
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.infra.services.edit.TypeContext"/>
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.infra.services.edit.TypeContext"/>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.notation b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.notation
index d024cde..8cf0324 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.notation
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.notation
@@ -1,396 +1,396 @@
-<?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/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_lX0y8G4cEeiQkc1FO4uxgA" type="PapyrusUMLClassDiagram" name="NewClassDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_8752wH0OEeiDS63tULewcA" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_8752wn0OEeiDS63tULewcA" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_8752w30OEeiDS63tULewcA" type="Package_PackagedElementCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_mdmIMG4cEeiQkc1FO4uxgA" type="Class_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIG4cEeiQkc1FO4uxgA" type="Class_NameLabel"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIW4cEeiQkc1FO4uxgA" type="Class_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_md5DIm4cEeiQkc1FO4uxgA" y="15"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0IG4cEeiQkc1FO4uxgA" type="Class_AttributeCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_o3xEkG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
-              <element xmi:type="uml:Property" href="BathtubSM.uml#_o3n6oG4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_o3xEkW4cEeiQkc1FO4uxgA"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_pYFjYG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
-              <element xmi:type="uml:Property" href="BathtubSM.uml#_pXpegG4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_pYFjYW4cEeiQkc1FO4uxgA"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0IW4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0Im4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0I24cEeiQkc1FO4uxgA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0JG4cEeiQkc1FO4uxgA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0JW4cEeiQkc1FO4uxgA" type="Class_OperationCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_ua5V8G4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
-              <element xmi:type="uml:Operation" href="BathtubSM.uml#_uaa00G4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_ua5V8W4cEeiQkc1FO4uxgA"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_vhDswG4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
-              <element xmi:type="uml:Operation" href="BathtubSM.uml#_vg57wG4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_vhDswW4cEeiQkc1FO4uxgA"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_CteGwH1REeiOvJbQeRuWmA" type="Operation_ClassOperationLabel">
-              <element xmi:type="uml:Operation" href="BathtubSM.uml#_CtKkwH1REeiOvJbQeRuWmA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_CteGwX1REeiOvJbQeRuWmA"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0Jm4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0J24cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0KG4cEeiQkc1FO4uxgA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0KW4cEeiQkc1FO4uxgA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0Km4cEeiQkc1FO4uxgA" type="Class_NestedClassifierCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0K24cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0LG4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0LW4cEeiQkc1FO4uxgA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0Lm4cEeiQkc1FO4uxgA"/>
-          </children>
-          <element xmi:type="uml:Class" href="BathtubSM.uml#_mdTNQG4cEeiQkc1FO4uxgA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mdmIMW4cEeiQkc1FO4uxgA" x="134" y="16" width="201"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_iY3zcH1PEeiOvJbQeRuWmA" type="Class_Shape_CN">
-          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zcn1PEeiOvJbQeRuWmA" type="Class_NameLabel_CN"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zc31PEeiOvJbQeRuWmA" type="Class_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_iY3zdH1PEeiOvJbQeRuWmA" y="15"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zdX1PEeiOvJbQeRuWmA" type="Class_AttributeCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zdn1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zd31PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zeH1PEeiOvJbQeRuWmA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zeX1PEeiOvJbQeRuWmA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zen1PEeiOvJbQeRuWmA" type="Class_OperationCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3ze31PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zfH1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zfX1PEeiOvJbQeRuWmA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zfn1PEeiOvJbQeRuWmA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zf31PEeiOvJbQeRuWmA" type="Class_NestedClassifierCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zgH1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zgX1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zgn1PEeiOvJbQeRuWmA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zg31PEeiOvJbQeRuWmA"/>
-          </children>
-          <element xmi:type="uml:Class" href="BathtubSM.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zcX1PEeiOvJbQeRuWmA" x="134" y="256" width="201" height="100"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_udgC_X1PEeiOvJbQeRuWmA" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_udgC_n1PEeiOvJbQeRuWmA"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM4H1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Class" href="BathtubSM.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udgC_31PEeiOvJbQeRuWmA" x="334" y="256"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_8752xH0OEeiDS63tULewcA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752xX0OEeiDS63tULewcA"/>
-      </children>
-      <element xmi:type="uml:Package" href="BathtubSM.uml#_87wFwH0OEeiDS63tULewcA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752wX0OEeiDS63tULewcA" x="40" y="40" width="681" height="421"/>
-    </children>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_lX0y8W4cEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_lX0y8m4cEeiQkc1FO4uxgA"/>
-    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_lX0y824cEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
-      <owner xmi:type="uml:Model" href="BathtubSM.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
-    </styles>
-    <element xmi:type="uml:Model" href="BathtubSM.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_udpM4X1PEeiOvJbQeRuWmA" type="StereotypeCommentLink" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_udgC_X1PEeiOvJbQeRuWmA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_udpM4n1PEeiOvJbQeRuWmA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM5n1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="BathtubSM.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_udpM431PEeiOvJbQeRuWmA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5H1PEeiOvJbQeRuWmA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5X1PEeiOvJbQeRuWmA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_yYbncH1PEeiOvJbQeRuWmA" type="Dependency_Edge" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_mdmIMG4cEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_yYbnc31PEeiOvJbQeRuWmA" type="Dependency_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndH1PEeiOvJbQeRuWmA" y="40"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_yYbndX1PEeiOvJbQeRuWmA" type="Dependency_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndn1PEeiOvJbQeRuWmA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_yYbncX1PEeiOvJbQeRuWmA"/>
-      <element xmi:type="uml:Dependency" href="BathtubSM.uml#_yYOMEH1PEeiOvJbQeRuWmA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yYbncn1PEeiOvJbQeRuWmA" points="[280, 324, -643984, -643984]$[280, 219, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUH1PEeiOvJbQeRuWmA" id="(0.4975124378109453,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUX1PEeiOvJbQeRuWmA" id="(0.4975124378109453,1.0)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_OEdDAG4wEeiQkc1FO4uxgA" type="PapyrusUMLStateMachineDiagram" name="NewStateMachineDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_OEdDAW4wEeiQkc1FO4uxgA" type="StateMachine_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OEdDAm4wEeiQkc1FO4uxgA" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDA24wEeiQkc1FO4uxgA" width="881" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDBG4wEeiQkc1FO4uxgA" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_OEdDBW4wEeiQkc1FO4uxgA" type="Region_Shape">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdDBm4wEeiQkc1FO4uxgA" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdDB24wEeiQkc1FO4uxgA" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDCG4wEeiQkc1FO4uxgA" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_TWZdwG4wEeiQkc1FO4uxgA" type="Pseudostate_InitialShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_TWZdwm4wEeiQkc1FO4uxgA" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0G4wEeiQkc1FO4uxgA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_TWaE0W4wEeiQkc1FO4uxgA" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0m4wEeiQkc1FO4uxgA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="BathtubSM.uml#_TWN3kG4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TWZdwW4wEeiQkc1FO4uxgA" x="19" y="30"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_T2UT8G4wEeiQkc1FO4uxgA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT8m4wEeiQkc1FO4uxgA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_km8I8H0MEeiDS63tULewcA" width="221"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT824wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_T2U7AG4wEeiQkc1FO4uxgA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_T2ViEG4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2ViEW4wEeiQkc1FO4uxgA" y="-1" width="221"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_jhkUE6xmEeiPApgkayeLVg" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_jhkUFKxmEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhkUFaxmEeiPApgkayeLVg"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_rAFeoKxnEeiPApgkayeLVg" type="Behavior_EntryBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_q_fBsKxnEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_rAFeoaxnEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_N5zPgKxoEeiPApgkayeLVg" type="Behavior_ExitBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_N5gUkKxoEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_N5zPgaxoEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_bVQvEKxoEeiPApgkayeLVg" type="Behavior_DoActivityBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_bVG-EKxoEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_bVQvEaxoEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <element xmi:type="uml:State" href="BathtubSM.uml#_T2FqcG4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2UT8W4wEeiQkc1FO4uxgA" x="59" y="110" width="221" height="81"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_UPQ_cG4wEeiQkc1FO4uxgA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_cm4wEeiQkc1FO4uxgA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lDY0YH0MEeiDS63tULewcA" width="221"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_c24wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_UPQ_dG4wEeiQkc1FO4uxgA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_UPQ_dW4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_dm4wEeiQkc1FO4uxgA" y="-1" width="221"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_jhuFEKxmEeiPApgkayeLVg" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_jhuFEaxmEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhuFEqxmEeiPApgkayeLVg"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_WED7MKxoEeiPApgkayeLVg" type="Behavior_DoActivityBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_WD6KMKxoEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_WED7MaxoEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_jD7q8axoEeiPApgkayeLVg" type="Behavior_EntryBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_jD7q8KxoEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_jD7q8qxoEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_oWUKkKxoEeiPApgkayeLVg" type="Behavior_ExitBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_oWLAoKxoEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_oWUKkaxoEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <element xmi:type="uml:State" href="BathtubSM.uml#_UPBu4G4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_cW4wEeiQkc1FO4uxgA" x="519" y="110" width="221" height="81"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_ZPNrQG4wEeiQkc1FO4uxgA" type="FinalState_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_ZPNrQm4wEeiQkc1FO4uxgA" type="FinalState_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPNrQ24wEeiQkc1FO4uxgA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_ZPOSUG4wEeiQkc1FO4uxgA" type="FinalState_StereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPOSUW4wEeiQkc1FO4uxgA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:FinalState" href="BathtubSM.uml#_ZO0CoG4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPNrQW4wEeiQkc1FO4uxgA" x="779" y="190"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_v4a8AKxmEeiPApgkayeLVg" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_v4ktAKxmEeiPApgkayeLVg" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSoLwKxmEeiPApgkayeLVg" width="221"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_v4ktAaxmEeiPApgkayeLVg" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_v4ktAqxmEeiPApgkayeLVg" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_v4ktA6xmEeiPApgkayeLVg" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ktBKxmEeiPApgkayeLVg" y="-1" width="221"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_v4t28KxmEeiPApgkayeLVg" type="compartment_shape_display">
-                <styles xmi:type="notation:TitleStyle" xmi:id="_v4t28axmEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4t28qxmEeiPApgkayeLVg"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="__HLTQaxoEeiPApgkayeLVg" type="Behavior_DoActivityBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#__HLTQKxoEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="__HLTQqxoEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_Er6uMKxpEeiPApgkayeLVg" type="Behavior_EntryBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_Erw9MKxpEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_Er6uMaxpEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <children xmi:type="notation:Shape" xmi:id="_FaUFQKxpEeiPApgkayeLVg" type="Behavior_ExitBehaviorLabel">
-                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_FaK7UKxpEeiPApgkayeLVg"/>
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_FaUFQaxpEeiPApgkayeLVg" x="-10" y="-10"/>
-              </children>
-              <element xmi:type="uml:State" href="BathtubSM.uml#_v31GIKxmEeiPApgkayeLVg"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4a8AaxmEeiPApgkayeLVg" x="319" y="270" width="221" height="81"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCW4wEeiQkc1FO4uxgA"/>
-          </children>
-          <element xmi:type="uml:Region" href="BathtubSM.uml#_OEbN0G4wEeiQkc1FO4uxgA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCm4wEeiQkc1FO4uxgA" width="881" height="391"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDC24wEeiQkc1FO4uxgA" y="20" width="881" height="391"/>
-      </children>
-      <element xmi:type="uml:StateMachine" href="BathtubSM.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDDG4wEeiQkc1FO4uxgA" x="20" y="30" width="881" height="411"/>
-    </children>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_OEdDDW4wEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_OEdDDm4wEeiQkc1FO4uxgA"/>
-    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_OEdDD24wEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.stateMachine">
-      <owner xmi:type="uml:StateMachine" href="BathtubSM.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
-    </styles>
-    <element xmi:type="uml:StateMachine" href="BathtubSM.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_aeuyYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_TWZdwG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcG4wEeiQkc1FO4uxgA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R4g9UH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZcW4wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcm4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5RyUH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZc24wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aevZdG4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5ueQH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZdW4wEeiQkc1FO4uxgA" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_aeuyYW4wEeiQkc1FO4uxgA"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_aa7QcG4wEeiQkc1FO4uxgA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aeuyYm4wEeiQkc1FO4uxgA" points="[109, 80, -643984, -643984]$[240, 160, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aga0cG4wEeiQkc1FO4uxgA" id="(0.45,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_agbbgG4wEeiQkc1FO4uxgA" id="(0.0,0.45454545454545453)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a5IPYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_T2UT8G4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPY24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tBv0YKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5IPZG4wEeiQkc1FO4uxgA" x="9" y="12"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPZW4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tCMgUKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cG4wEeiQkc1FO4uxgA" x="-7" y="27"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a5I2cW4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tCpMQKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cm4wEeiQkc1FO4uxgA" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a5IPYW4wEeiQkc1FO4uxgA"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_a4vN0G4wEeiQkc1FO4uxgA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a5IPYm4wEeiQkc1FO4uxgA" points="[280, 174, -643984, -643984]$[400, 174, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8G4wEeiQkc1FO4uxgA" id="(1.0,0.759493670886076)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8W4wEeiQkc1FO4uxgA" id="(0.0,0.7407407407407407)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_bezIQG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_ZPNrQG4wEeiQkc1FO4uxgA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V8RGoH1AEeiUl9OrBp2G3w" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V8RGoX1AEeiUl9OrBp2G3w" key="routing" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vF6roH1AEeiUl9OrBp2G3w" key="closestDistance" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vP2qwH1AEeiUl9OrBp2G3w" key="avoidObstructions" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_bezIQ24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lbr_oH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezIRG4wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUG4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lb-6kH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvUW4wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUm4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lcSckH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvU24wEeiQkc1FO4uxgA" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_bezIQW4wEeiQkc1FO4uxgA"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_bebU0G4wEeiQkc1FO4uxgA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bezIQm4wEeiQkc1FO4uxgA" points="[761, 200, -643984, -643984]$[802, 200, -643984, -643984]$[802, 246, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUG4wEeiQkc1FO4uxgA" id="(1.0,0.49382716049382713)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUW4wEeiQkc1FO4uxgA" id="(0.1,0.3)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mrQKEH0MEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKE30MEeiDS63tULewcA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXOfQH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFH0MEeiDS63tULewcA" x="-9" y="13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKFX0MEeiDS63tULewcA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXqkIH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFn0MEeiDS63tULewcA" x="93" y="33"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKF30MEeiDS63tULewcA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nYRBEH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKGH0MEeiDS63tULewcA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mrQKEX0MEeiDS63tULewcA"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_mnr4sH0MEeiDS63tULewcA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mrQKEn0MEeiDS63tULewcA" points="[410, 140, -643984, -643984]$[260, 140, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4H0MEeiDS63tULewcA" id="(0.0,0.24691358024691357)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4X0MEeiDS63tULewcA" id="(1.0,0.25316455696202533)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Ez0gIH0NEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Tree">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gI30NEeiDS63tULewcA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbkhEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJH0NEeiDS63tULewcA" x="-49" y="13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJX0NEeiDS63tULewcA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbuSEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJn0NEeiDS63tULewcA" x="152" y="-7"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJ30NEeiDS63tULewcA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GcBNAH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gKH0NEeiDS63tULewcA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Ez0gIX0NEeiDS63tULewcA"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_EzhlMH0NEeiDS63tULewcA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ez0gIn0NEeiDS63tULewcA" points="[620, 241, -643984, -643984]$[620, 280, -643984, -643984]$[560, 280, -643984, -643984]$[560, 241, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAH0NEeiDS63tULewcA" id="(0.418848167539267,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAX0NEeiDS63tULewcA" id="(0.10471204188481675,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rrJxkH0XEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxk30XEeiDS63tULewcA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUC9kH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxlH0XEeiDS63tULewcA" x="-7" y="-33"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxlX0XEeiDS63tULewcA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUMukH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxln0XEeiDS63tULewcA" x="4" y="-13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxl30XEeiDS63tULewcA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUfpgH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxmH0XEeiDS63tULewcA" x="-1" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rrJxkX0XEeiDS63tULewcA"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_rq22oH0XEeiDS63tULewcA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rrJxkn0XEeiDS63tULewcA" points="[570, 160, -643984, -643984]$[570, 120, -643984, -643984]$[610, 120, -643984, -643984]$[610, 160, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgH0XEeiDS63tULewcA" id="(0.19801980198019803,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgX0XEeiDS63tULewcA" id="(0.594059405940594,0.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_zxp3YKxmEeiPApgkayeLVg" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_v4a8AKxmEeiPApgkayeLVg">
-      <children xmi:type="notation:DecorationNode" xmi:id="_zxp3Y6xmEeiPApgkayeLVg" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2KN0wKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zxp3ZKxmEeiPApgkayeLVg"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zxp3ZaxmEeiPApgkayeLVg" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2KqgsKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zxp3ZqxmEeiPApgkayeLVg" x="-13" y="-53"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_zxp3Z6xmEeiPApgkayeLVg" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2K9boKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_zxp3aKxmEeiPApgkayeLVg" x="-1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_zxp3YaxmEeiPApgkayeLVg"/>
-      <element xmi:type="uml:Transition" href="BathtubSM.uml#_zxEBgKxmEeiPApgkayeLVg"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zxp3YqxmEeiPApgkayeLVg" points="[660, 241, -643984, -643984]$[660, 380, -643984, -643984]$[561, 380, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zzBwYKxmEeiPApgkayeLVg" id="(0.5429864253393665,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zzBwYaxmEeiPApgkayeLVg" id="(1.0,0.7407407407407407)"/>
-    </edges>
-  </notation:Diagram>
-</xmi:XMI>
+<?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/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_lX0y8G4cEeiQkc1FO4uxgA" type="PapyrusUMLClassDiagram" name="NewClassDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8752wH0OEeiDS63tULewcA" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8752wn0OEeiDS63tULewcA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8752w30OEeiDS63tULewcA" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_mdmIMG4cEeiQkc1FO4uxgA" type="Class_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIG4cEeiQkc1FO4uxgA" type="Class_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIW4cEeiQkc1FO4uxgA" type="Class_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_md5DIm4cEeiQkc1FO4uxgA" y="15"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0IG4cEeiQkc1FO4uxgA" type="Class_AttributeCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_o3xEkG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
+              <element xmi:type="uml:Property" href="BathtubSM.uml#_o3n6oG4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_o3xEkW4cEeiQkc1FO4uxgA"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_pYFjYG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
+              <element xmi:type="uml:Property" href="BathtubSM.uml#_pXpegG4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_pYFjYW4cEeiQkc1FO4uxgA"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0IW4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0Im4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0I24cEeiQkc1FO4uxgA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0JG4cEeiQkc1FO4uxgA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0JW4cEeiQkc1FO4uxgA" type="Class_OperationCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_ua5V8G4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
+              <element xmi:type="uml:Operation" href="BathtubSM.uml#_uaa00G4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ua5V8W4cEeiQkc1FO4uxgA"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_vhDswG4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
+              <element xmi:type="uml:Operation" href="BathtubSM.uml#_vg57wG4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_vhDswW4cEeiQkc1FO4uxgA"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_CteGwH1REeiOvJbQeRuWmA" type="Operation_ClassOperationLabel">
+              <element xmi:type="uml:Operation" href="BathtubSM.uml#_CtKkwH1REeiOvJbQeRuWmA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_CteGwX1REeiOvJbQeRuWmA"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0Jm4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0J24cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0KG4cEeiQkc1FO4uxgA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0KW4cEeiQkc1FO4uxgA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0Km4cEeiQkc1FO4uxgA" type="Class_NestedClassifierCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0K24cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0LG4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0LW4cEeiQkc1FO4uxgA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0Lm4cEeiQkc1FO4uxgA"/>
+          </children>
+          <element xmi:type="uml:Class" href="BathtubSM.uml#_mdTNQG4cEeiQkc1FO4uxgA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mdmIMW4cEeiQkc1FO4uxgA" x="134" y="16" width="201"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_iY3zcH1PEeiOvJbQeRuWmA" type="Class_Shape_CN">
+          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zcn1PEeiOvJbQeRuWmA" type="Class_NameLabel_CN"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zc31PEeiOvJbQeRuWmA" type="Class_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_iY3zdH1PEeiOvJbQeRuWmA" y="15"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zdX1PEeiOvJbQeRuWmA" type="Class_AttributeCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zdn1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zd31PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zeH1PEeiOvJbQeRuWmA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zeX1PEeiOvJbQeRuWmA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zen1PEeiOvJbQeRuWmA" type="Class_OperationCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3ze31PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zfH1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zfX1PEeiOvJbQeRuWmA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zfn1PEeiOvJbQeRuWmA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zf31PEeiOvJbQeRuWmA" type="Class_NestedClassifierCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zgH1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zgX1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zgn1PEeiOvJbQeRuWmA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zg31PEeiOvJbQeRuWmA"/>
+          </children>
+          <element xmi:type="uml:Class" href="BathtubSM.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zcX1PEeiOvJbQeRuWmA" x="134" y="256" width="201" height="100"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_udgC_X1PEeiOvJbQeRuWmA" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_udgC_n1PEeiOvJbQeRuWmA"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM4H1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Class" href="BathtubSM.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udgC_31PEeiOvJbQeRuWmA" x="334" y="256"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8752xH0OEeiDS63tULewcA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752xX0OEeiDS63tULewcA"/>
+      </children>
+      <element xmi:type="uml:Package" href="BathtubSM.uml#_87wFwH0OEeiDS63tULewcA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752wX0OEeiDS63tULewcA" x="40" y="40" width="681" height="421"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_lX0y8W4cEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_lX0y8m4cEeiQkc1FO4uxgA"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_lX0y824cEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+      <owner xmi:type="uml:Model" href="BathtubSM.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
+    </styles>
+    <element xmi:type="uml:Model" href="BathtubSM.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_udpM4X1PEeiOvJbQeRuWmA" type="StereotypeCommentLink" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_udgC_X1PEeiOvJbQeRuWmA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_udpM4n1PEeiOvJbQeRuWmA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM5n1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="BathtubSM.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_udpM431PEeiOvJbQeRuWmA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5H1PEeiOvJbQeRuWmA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5X1PEeiOvJbQeRuWmA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yYbncH1PEeiOvJbQeRuWmA" type="Dependency_Edge" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_mdmIMG4cEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yYbnc31PEeiOvJbQeRuWmA" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndH1PEeiOvJbQeRuWmA" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_yYbndX1PEeiOvJbQeRuWmA" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndn1PEeiOvJbQeRuWmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_yYbncX1PEeiOvJbQeRuWmA"/>
+      <element xmi:type="uml:Dependency" href="BathtubSM.uml#_yYOMEH1PEeiOvJbQeRuWmA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yYbncn1PEeiOvJbQeRuWmA" points="[280, 324, -643984, -643984]$[280, 219, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUH1PEeiOvJbQeRuWmA" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUX1PEeiOvJbQeRuWmA" id="(0.4975124378109453,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_OEdDAG4wEeiQkc1FO4uxgA" type="PapyrusUMLStateMachineDiagram" name="NewStateMachineDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_OEdDAW4wEeiQkc1FO4uxgA" type="StateMachine_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OEdDAm4wEeiQkc1FO4uxgA" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDA24wEeiQkc1FO4uxgA" width="881" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDBG4wEeiQkc1FO4uxgA" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_OEdDBW4wEeiQkc1FO4uxgA" type="Region_Shape">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdDBm4wEeiQkc1FO4uxgA" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdDB24wEeiQkc1FO4uxgA" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDCG4wEeiQkc1FO4uxgA" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_TWZdwG4wEeiQkc1FO4uxgA" type="Pseudostate_InitialShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_TWZdwm4wEeiQkc1FO4uxgA" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0G4wEeiQkc1FO4uxgA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_TWaE0W4wEeiQkc1FO4uxgA" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0m4wEeiQkc1FO4uxgA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="BathtubSM.uml#_TWN3kG4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TWZdwW4wEeiQkc1FO4uxgA" x="19" y="30"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_T2UT8G4wEeiQkc1FO4uxgA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT8m4wEeiQkc1FO4uxgA" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_km8I8H0MEeiDS63tULewcA" width="221"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT824wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_T2U7AG4wEeiQkc1FO4uxgA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_T2ViEG4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2ViEW4wEeiQkc1FO4uxgA" y="-1" width="221"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_jhkUE6xmEeiPApgkayeLVg" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_jhkUFKxmEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhkUFaxmEeiPApgkayeLVg"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_rAFeoKxnEeiPApgkayeLVg" type="Behavior_EntryBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_q_fBsKxnEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_rAFeoaxnEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_N5zPgKxoEeiPApgkayeLVg" type="Behavior_ExitBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_N5gUkKxoEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_N5zPgaxoEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_bVQvEKxoEeiPApgkayeLVg" type="Behavior_DoActivityBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_bVG-EKxoEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_bVQvEaxoEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <element xmi:type="uml:State" href="BathtubSM.uml#_T2FqcG4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2UT8W4wEeiQkc1FO4uxgA" x="59" y="110" width="221" height="81"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_UPQ_cG4wEeiQkc1FO4uxgA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_cm4wEeiQkc1FO4uxgA" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lDY0YH0MEeiDS63tULewcA" width="221"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_c24wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_UPQ_dG4wEeiQkc1FO4uxgA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_UPQ_dW4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_dm4wEeiQkc1FO4uxgA" y="-1" width="221"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_jhuFEKxmEeiPApgkayeLVg" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_jhuFEaxmEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jhuFEqxmEeiPApgkayeLVg"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_WED7MKxoEeiPApgkayeLVg" type="Behavior_DoActivityBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_WD6KMKxoEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_WED7MaxoEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_jD7q8axoEeiPApgkayeLVg" type="Behavior_EntryBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_jD7q8KxoEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_jD7q8qxoEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_oWUKkKxoEeiPApgkayeLVg" type="Behavior_ExitBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_oWLAoKxoEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_oWUKkaxoEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <element xmi:type="uml:State" href="BathtubSM.uml#_UPBu4G4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_cW4wEeiQkc1FO4uxgA" x="519" y="110" width="221" height="81"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_ZPNrQG4wEeiQkc1FO4uxgA" type="FinalState_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_ZPNrQm4wEeiQkc1FO4uxgA" type="FinalState_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPNrQ24wEeiQkc1FO4uxgA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_ZPOSUG4wEeiQkc1FO4uxgA" type="FinalState_StereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPOSUW4wEeiQkc1FO4uxgA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:FinalState" href="BathtubSM.uml#_ZO0CoG4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPNrQW4wEeiQkc1FO4uxgA" x="779" y="190"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_v4a8AKxmEeiPApgkayeLVg" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_v4ktAKxmEeiPApgkayeLVg" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSoLwKxmEeiPApgkayeLVg" width="221"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_v4ktAaxmEeiPApgkayeLVg" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_v4ktAqxmEeiPApgkayeLVg" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_v4ktA6xmEeiPApgkayeLVg" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4ktBKxmEeiPApgkayeLVg" y="-1" width="221"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_v4t28KxmEeiPApgkayeLVg" type="compartment_shape_display">
+                <styles xmi:type="notation:TitleStyle" xmi:id="_v4t28axmEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4t28qxmEeiPApgkayeLVg"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="__HLTQaxoEeiPApgkayeLVg" type="Behavior_DoActivityBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#__HLTQKxoEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="__HLTQqxoEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_Er6uMKxpEeiPApgkayeLVg" type="Behavior_EntryBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_Erw9MKxpEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_Er6uMaxpEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <children xmi:type="notation:Shape" xmi:id="_FaUFQKxpEeiPApgkayeLVg" type="Behavior_ExitBehaviorLabel">
+                <element xmi:type="uml:OpaqueBehavior" href="BathtubSM.uml#_FaK7UKxpEeiPApgkayeLVg"/>
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_FaUFQaxpEeiPApgkayeLVg" x="-10" y="-10"/>
+              </children>
+              <element xmi:type="uml:State" href="BathtubSM.uml#_v31GIKxmEeiPApgkayeLVg"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4a8AaxmEeiPApgkayeLVg" x="319" y="270" width="221" height="81"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCW4wEeiQkc1FO4uxgA"/>
+          </children>
+          <element xmi:type="uml:Region" href="BathtubSM.uml#_OEbN0G4wEeiQkc1FO4uxgA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCm4wEeiQkc1FO4uxgA" width="881" height="391"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDC24wEeiQkc1FO4uxgA" y="20" width="881" height="391"/>
+      </children>
+      <element xmi:type="uml:StateMachine" href="BathtubSM.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDDG4wEeiQkc1FO4uxgA" x="20" y="30" width="881" height="411"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_OEdDDW4wEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_OEdDDm4wEeiQkc1FO4uxgA"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_OEdDD24wEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.stateMachine">
+      <owner xmi:type="uml:StateMachine" href="BathtubSM.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
+    </styles>
+    <element xmi:type="uml:StateMachine" href="BathtubSM.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_aeuyYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_TWZdwG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcG4wEeiQkc1FO4uxgA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R4g9UH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZcW4wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcm4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5RyUH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZc24wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aevZdG4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5ueQH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZdW4wEeiQkc1FO4uxgA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_aeuyYW4wEeiQkc1FO4uxgA"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_aa7QcG4wEeiQkc1FO4uxgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aeuyYm4wEeiQkc1FO4uxgA" points="[109, 80, -643984, -643984]$[240, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aga0cG4wEeiQkc1FO4uxgA" id="(0.45,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_agbbgG4wEeiQkc1FO4uxgA" id="(0.0,0.45454545454545453)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_a5IPYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_T2UT8G4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPY24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tBv0YKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5IPZG4wEeiQkc1FO4uxgA" x="9" y="12"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPZW4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tCMgUKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cG4wEeiQkc1FO4uxgA" x="-7" y="27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a5I2cW4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_tCpMQKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cm4wEeiQkc1FO4uxgA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_a5IPYW4wEeiQkc1FO4uxgA"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_a4vN0G4wEeiQkc1FO4uxgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a5IPYm4wEeiQkc1FO4uxgA" points="[280, 174, -643984, -643984]$[400, 174, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8G4wEeiQkc1FO4uxgA" id="(1.0,0.759493670886076)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8W4wEeiQkc1FO4uxgA" id="(0.0,0.7407407407407407)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bezIQG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_ZPNrQG4wEeiQkc1FO4uxgA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V8RGoH1AEeiUl9OrBp2G3w" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V8RGoX1AEeiUl9OrBp2G3w" key="routing" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vF6roH1AEeiUl9OrBp2G3w" key="closestDistance" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vP2qwH1AEeiUl9OrBp2G3w" key="avoidObstructions" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bezIQ24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lbr_oH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezIRG4wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUG4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lb-6kH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvUW4wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUm4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lcSckH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvU24wEeiQkc1FO4uxgA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_bezIQW4wEeiQkc1FO4uxgA"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_bebU0G4wEeiQkc1FO4uxgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bezIQm4wEeiQkc1FO4uxgA" points="[761, 200, -643984, -643984]$[802, 200, -643984, -643984]$[802, 246, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUG4wEeiQkc1FO4uxgA" id="(1.0,0.49382716049382713)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUW4wEeiQkc1FO4uxgA" id="(0.1,0.3)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mrQKEH0MEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKE30MEeiDS63tULewcA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXOfQH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFH0MEeiDS63tULewcA" x="-9" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKFX0MEeiDS63tULewcA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXqkIH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFn0MEeiDS63tULewcA" x="93" y="33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKF30MEeiDS63tULewcA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nYRBEH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKGH0MEeiDS63tULewcA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mrQKEX0MEeiDS63tULewcA"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_mnr4sH0MEeiDS63tULewcA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mrQKEn0MEeiDS63tULewcA" points="[410, 140, -643984, -643984]$[260, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4H0MEeiDS63tULewcA" id="(0.0,0.24691358024691357)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4X0MEeiDS63tULewcA" id="(1.0,0.25316455696202533)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Ez0gIH0NEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Tree">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gI30NEeiDS63tULewcA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbkhEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJH0NEeiDS63tULewcA" x="-49" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJX0NEeiDS63tULewcA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbuSEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJn0NEeiDS63tULewcA" x="152" y="-7"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJ30NEeiDS63tULewcA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GcBNAH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gKH0NEeiDS63tULewcA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Ez0gIX0NEeiDS63tULewcA"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_EzhlMH0NEeiDS63tULewcA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ez0gIn0NEeiDS63tULewcA" points="[620, 241, -643984, -643984]$[620, 280, -643984, -643984]$[560, 280, -643984, -643984]$[560, 241, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAH0NEeiDS63tULewcA" id="(0.418848167539267,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAX0NEeiDS63tULewcA" id="(0.10471204188481675,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rrJxkH0XEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxk30XEeiDS63tULewcA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUC9kH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxlH0XEeiDS63tULewcA" x="-7" y="-33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxlX0XEeiDS63tULewcA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUMukH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxln0XEeiDS63tULewcA" x="4" y="-13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxl30XEeiDS63tULewcA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUfpgH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxmH0XEeiDS63tULewcA" x="-1" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rrJxkX0XEeiDS63tULewcA"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_rq22oH0XEeiDS63tULewcA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rrJxkn0XEeiDS63tULewcA" points="[570, 160, -643984, -643984]$[570, 120, -643984, -643984]$[610, 120, -643984, -643984]$[610, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgH0XEeiDS63tULewcA" id="(0.19801980198019803,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgX0XEeiDS63tULewcA" id="(0.594059405940594,0.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_zxp3YKxmEeiPApgkayeLVg" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_v4a8AKxmEeiPApgkayeLVg">
+      <children xmi:type="notation:DecorationNode" xmi:id="_zxp3Y6xmEeiPApgkayeLVg" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2KN0wKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zxp3ZKxmEeiPApgkayeLVg"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zxp3ZaxmEeiPApgkayeLVg" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2KqgsKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zxp3ZqxmEeiPApgkayeLVg" x="-13" y="-53"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_zxp3Z6xmEeiPApgkayeLVg" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_2K9boKxnEeiPApgkayeLVg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_zxp3aKxmEeiPApgkayeLVg" x="-1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_zxp3YaxmEeiPApgkayeLVg"/>
+      <element xmi:type="uml:Transition" href="BathtubSM.uml#_zxEBgKxmEeiPApgkayeLVg"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zxp3YqxmEeiPApgkayeLVg" points="[660, 241, -643984, -643984]$[660, 380, -643984, -643984]$[561, 380, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zzBwYKxmEeiPApgkayeLVg" id="(0.5429864253393665,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zzBwYaxmEeiPApgkayeLVg" id="(1.0,0.7407407407407407)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.uml b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.uml
index d699603..9269c39 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.uml
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/BathtubSM.uml
@@ -1,177 +1,177 @@
-<?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="_dRQ7gG4cEeiQkc1FO4uxgA" name="TestCGenerator">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_d46xYG4cEeiQkc1FO4uxgA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_87wFwH0OEeiDS63tULewcA" name="Bathtub">
-      <packagedElement xmi:type="uml:Class" xmi:id="_mdTNQG4cEeiQkc1FO4uxgA" name="Bathtub" classifierBehavior="_MYi60G4wEeiQkc1FO4uxgA" isActive="true">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_o3n6oG4cEeiQkc1FO4uxgA" name="Lm">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_L7-3sK94EeiGJMxhXTW8dw" value="100"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_pXpegG4cEeiQkc1FO4uxgA" name="l">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_pmexsK94EeiGJMxhXTW8dw"/>
-        </ownedAttribute>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_MYi60G4wEeiQkc1FO4uxgA" name="ButhtubStateMachine">
-          <region xmi:type="uml:Region" xmi:id="_OEbN0G4wEeiQkc1FO4uxgA" name="Region1">
-            <transition xmi:type="uml:Transition" xmi:id="_aa7QcG4wEeiQkc1FO4uxgA" source="_TWN3kG4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_a4vN0G4wEeiQkc1FO4uxgA" name="E2F" guard="_fwH04H0VEeiDS63tULewcA" source="_T2FqcG4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_fwH04H0VEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_d0KpEH0WEeiDS63tULewcA">
-                  <language>C/C++</language>
-                  <body>x &lt;= self->Lm - self->l</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_wyJmAH7XEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>self->l = self->l + x;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_nYLSwH0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_bebU0G4wEeiQkc1FO4uxgA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_ZO0CoG4wEeiQkc1FO4uxgA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_mnr4sH0MEeiDS63tULewcA" name="F2E" guard="__7tWIH0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="__7tWIH0WEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_F8fz4H0XEeiDS63tULewcA">
-                  <language>C/C++</language>
-                  <body>self->l-x==0</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_8he68H7XEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>self->l = self->l - x;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_3jBJsH0SEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_EzhlMH0NEeiDS63tULewcA" name="F2FF" guard="_lriN8H0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_lriN8H0WEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_vXKlwH0WEeiDS63tULewcA">
-                  <language>C/C++</language>
-                  <body>self->l+x&lt;=self->Lm</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Nx2PgH7YEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>self->l = self->l + x;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_9IHJ8H0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rq22oH0XEeiDS63tULewcA" name="F2FR" guard="__6IzYH0XEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="__6IzYH0XEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_EayUEH0YEeiDS63tULewcA">
-                  <language>C/C++</language>
-                  <body>self->l-x > 0</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_IH0r8H7YEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>self->l = self->l - x;</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_7qne8H0XEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_zxEBgKxmEeiPApgkayeLVg" guard="_4Fww4KxmEeiPApgkayeLVg" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_v31GIKxmEeiPApgkayeLVg">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_4Fww4KxmEeiPApgkayeLVg">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_CGHbgKxnEeiPApgkayeLVg">
-                  <language>C/C++</language>
-                  <body>self->l==self->Lm</body>
-                </specification>
-              </ownedRule>
-            </transition>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_TWN3kG4wEeiQkc1FO4uxgA" name="Initial1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_T2FqcG4wEeiQkc1FO4uxgA" name="Empty">
-              <doActivity xmi:type="uml:OpaqueBehavior" xmi:id="_bVG-EKxoEeiPApgkayeLVg" name="doActivity_Empty">
-                <language>C/C++</language>
-                <body>printf(&quot;do Activity of Empty State\n&quot;);</body>
-              </doActivity>
-              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_q_fBsKxnEeiPApgkayeLVg" name="entry_empty">
-                <language>C/C++</language>
-                <body>printf(&quot;Enter to Empty State \n&quot;);</body>
-              </entry>
-              <exit xmi:type="uml:OpaqueBehavior" xmi:id="_N5gUkKxoEeiPApgkayeLVg" name="exit_empty">
-                <language>C/C++</language>
-                <body>printf(&quot;exit the Empty State \n&quot;);</body>
-              </exit>
-            </subvertex>
-            <subvertex xmi:type="uml:State" xmi:id="_UPBu4G4wEeiQkc1FO4uxgA" name="Filled">
-              <doActivity xmi:type="uml:OpaqueBehavior" xmi:id="_WD6KMKxoEeiPApgkayeLVg" name="doActivity_Filled">
-                <language>C/C++</language>
-                <body>printf(&quot;do Activity of Filled State\n&quot;);</body>
-              </doActivity>
-              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_jD7q8KxoEeiPApgkayeLVg" name="entry_filled">
-                <language>C/C++</language>
-                <body>printf(&quot;Enter to Filled State \n&quot;);</body>
-              </entry>
-              <exit xmi:type="uml:OpaqueBehavior" xmi:id="_oWLAoKxoEeiPApgkayeLVg" name="exit_Filled">
-                <language>C/C++</language>
-                <body>printf(&quot;exit the Filled State \n&quot;);</body>
-              </exit>
-            </subvertex>
-            <subvertex xmi:type="uml:FinalState" xmi:id="_ZO0CoG4wEeiQkc1FO4uxgA" name="FinalState1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_v31GIKxmEeiPApgkayeLVg" name="Full">
-              <doActivity xmi:type="uml:OpaqueBehavior" xmi:id="__HLTQKxoEeiPApgkayeLVg" name="doActivity_Full">
-                <language>C/C++</language>
-                <body>printf(&quot;do Activity of Full State\n&quot;);</body>
-              </doActivity>
-              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_Erw9MKxpEeiPApgkayeLVg" name="entry_Full">
-                <language>C/C++</language>
-                <body>printf(&quot;Enter to Full State\n&quot;);</body>
-              </entry>
-              <exit xmi:type="uml:OpaqueBehavior" xmi:id="_FaK7UKxpEeiPApgkayeLVg" name="exit_Full">
-                <language>C/C++</language>
-                <body>printf(&quot;Exit from Full State\n&quot;);</body>
-              </exit>
-            </subvertex>
-          </region>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_uaa00G4cEeiQkc1FO4uxgA" name="fill" visibility="public" method="_kFJtsH0QEeiDS63tULewcA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ufxEsH0LEeiDS63tULewcA" name="x">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_vg57wG4cEeiQkc1FO4uxgA" name="withdraw" visibility="public" method="_Xw-7cH0SEeiDS63tULewcA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_yjtlcG4cEeiQkc1FO4uxgA" name="x">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_CtKkwH1REeiOvJbQeRuWmA" name="run" method="_hbnPEH1REeiOvJbQeRuWmA"/>
-        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_kFJtsH0QEeiDS63tULewcA" name="fill" specification="_uaa00G4cEeiQkc1FO4uxgA">
-          <language>C/C++</language>
-          <body>printf(&quot;fill the bathtub with liquid quantity = %d \n&quot;, x);&#xD;
-</body>
-        </nestedClassifier>
-        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_Xw-7cH0SEeiDS63tULewcA" name="withdraw" specification="_vg57wG4cEeiQkc1FO4uxgA">
-          <language>C/C++</language>
-          <body>printf(&quot;remove the liquid quantity  %d from the bathtub \n&quot;, x);</body>
-        </nestedClassifier>
-        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_hbnPEH1REeiOvJbQeRuWmA" name="run" specification="_CtKkwH1REeiOvJbQeRuWmA">
-          <language>C/C++</language>
-          <body>&#xD;
-	Bathtub_fill(self, 50);&#xD;
-	Bathtub_withdraw(self, 10);&#xD;
-	Bathtub_fill(self, 30);&#xD;
-	Bathtub_fill(self, 30);</body>
-        </nestedClassifier>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_iYk4gH1PEeiOvJbQeRuWmA" name="Main"/>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_yYOMEH1PEeiOvJbQeRuWmA" client="_iYk4gH1PEeiOvJbQeRuWmA" supplier="_mdTNQG4cEeiQkc1FO4uxgA"/>
-      <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_N2I-wH0ZEeiDS63tULewcA">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2KM4H0ZEeiDS63tULewcA" 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>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_EklfYH0PEeiDS63tULewcA" name="events">
-      <packagedElement xmi:type="uml:CallEvent" xmi:id="_GQC7oH0PEeiDS63tULewcA" name="fill" operation="_uaa00G4cEeiQkc1FO4uxgA"/>
-      <packagedElement xmi:type="uml:CallEvent" xmi:id="_HFFtQH0PEeiDS63tULewcA" name="remove" operation="_vg57wG4cEeiQkc1FO4uxgA"/>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ZlGrcG4fEeiQkc1FO4uxgA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZlP1YG4fEeiQkc1FO4uxgA" 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="_udMg8H1PEeiOvJbQeRuWmA" body="#include &quot;Bathtub.h&quot;&#xD;&#xA;&#xD;&#xA;// Include from Include declaration (body)&#xD;&#xA;int main(void) {&#xD;&#xA;&#x9;Bathtub * myBathtub =Bathtub_create();&#xD;&#xA;&#x9;Bathtub_init(myBathtub);&#xD;&#xA;&#x9;Bathtub_run (myBathtub);&#xD;&#xA;&#x9;return 1;&#xD;&#xA;}" base_class="_iYk4gH1PEeiOvJbQeRuWmA" base_Classifier="_iYk4gH1PEeiOvJbQeRuWmA"/>
-</xmi:XMI>
+<?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="_dRQ7gG4cEeiQkc1FO4uxgA" name="TestCGenerator">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_d46xYG4cEeiQkc1FO4uxgA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_87wFwH0OEeiDS63tULewcA" name="Bathtub">
+      <packagedElement xmi:type="uml:Class" xmi:id="_mdTNQG4cEeiQkc1FO4uxgA" name="Bathtub" classifierBehavior="_MYi60G4wEeiQkc1FO4uxgA" isActive="true">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_o3n6oG4cEeiQkc1FO4uxgA" name="Lm">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_L7-3sK94EeiGJMxhXTW8dw" value="100"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_pXpegG4cEeiQkc1FO4uxgA" name="l">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_pmexsK94EeiGJMxhXTW8dw"/>
+        </ownedAttribute>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_MYi60G4wEeiQkc1FO4uxgA" name="ButhtubStateMachine">
+          <region xmi:type="uml:Region" xmi:id="_OEbN0G4wEeiQkc1FO4uxgA" name="Region1">
+            <transition xmi:type="uml:Transition" xmi:id="_aa7QcG4wEeiQkc1FO4uxgA" source="_TWN3kG4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_a4vN0G4wEeiQkc1FO4uxgA" name="E2F" guard="_fwH04H0VEeiDS63tULewcA" source="_T2FqcG4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_fwH04H0VEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_d0KpEH0WEeiDS63tULewcA">
+                  <language>C/C++</language>
+                  <body>x &lt;= self->Lm - self->l</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_wyJmAH7XEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>self->l = self->l + x;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_nYLSwH0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_bebU0G4wEeiQkc1FO4uxgA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_ZO0CoG4wEeiQkc1FO4uxgA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_mnr4sH0MEeiDS63tULewcA" name="F2E" guard="__7tWIH0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="__7tWIH0WEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_F8fz4H0XEeiDS63tULewcA">
+                  <language>C/C++</language>
+                  <body>self->l-x==0</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_8he68H7XEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>self->l = self->l - x;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_3jBJsH0SEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_EzhlMH0NEeiDS63tULewcA" name="F2FF" guard="_lriN8H0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_lriN8H0WEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_vXKlwH0WEeiDS63tULewcA">
+                  <language>C/C++</language>
+                  <body>self->l+x&lt;=self->Lm</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Nx2PgH7YEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>self->l = self->l + x;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_9IHJ8H0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rq22oH0XEeiDS63tULewcA" name="F2FR" guard="__6IzYH0XEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="__6IzYH0XEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_EayUEH0YEeiDS63tULewcA">
+                  <language>C/C++</language>
+                  <body>self->l-x > 0</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_IH0r8H7YEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>self->l = self->l - x;</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_7qne8H0XEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_zxEBgKxmEeiPApgkayeLVg" guard="_4Fww4KxmEeiPApgkayeLVg" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_v31GIKxmEeiPApgkayeLVg">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_4Fww4KxmEeiPApgkayeLVg">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_CGHbgKxnEeiPApgkayeLVg">
+                  <language>C/C++</language>
+                  <body>self->l==self->Lm</body>
+                </specification>
+              </ownedRule>
+            </transition>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_TWN3kG4wEeiQkc1FO4uxgA" name="Initial1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_T2FqcG4wEeiQkc1FO4uxgA" name="Empty">
+              <doActivity xmi:type="uml:OpaqueBehavior" xmi:id="_bVG-EKxoEeiPApgkayeLVg" name="doActivity_Empty">
+                <language>C/C++</language>
+                <body>printf(&quot;do Activity of Empty State\n&quot;);</body>
+              </doActivity>
+              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_q_fBsKxnEeiPApgkayeLVg" name="entry_empty">
+                <language>C/C++</language>
+                <body>printf(&quot;Enter to Empty State \n&quot;);</body>
+              </entry>
+              <exit xmi:type="uml:OpaqueBehavior" xmi:id="_N5gUkKxoEeiPApgkayeLVg" name="exit_empty">
+                <language>C/C++</language>
+                <body>printf(&quot;exit the Empty State \n&quot;);</body>
+              </exit>
+            </subvertex>
+            <subvertex xmi:type="uml:State" xmi:id="_UPBu4G4wEeiQkc1FO4uxgA" name="Filled">
+              <doActivity xmi:type="uml:OpaqueBehavior" xmi:id="_WD6KMKxoEeiPApgkayeLVg" name="doActivity_Filled">
+                <language>C/C++</language>
+                <body>printf(&quot;do Activity of Filled State\n&quot;);</body>
+              </doActivity>
+              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_jD7q8KxoEeiPApgkayeLVg" name="entry_filled">
+                <language>C/C++</language>
+                <body>printf(&quot;Enter to Filled State \n&quot;);</body>
+              </entry>
+              <exit xmi:type="uml:OpaqueBehavior" xmi:id="_oWLAoKxoEeiPApgkayeLVg" name="exit_Filled">
+                <language>C/C++</language>
+                <body>printf(&quot;exit the Filled State \n&quot;);</body>
+              </exit>
+            </subvertex>
+            <subvertex xmi:type="uml:FinalState" xmi:id="_ZO0CoG4wEeiQkc1FO4uxgA" name="FinalState1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_v31GIKxmEeiPApgkayeLVg" name="Full">
+              <doActivity xmi:type="uml:OpaqueBehavior" xmi:id="__HLTQKxoEeiPApgkayeLVg" name="doActivity_Full">
+                <language>C/C++</language>
+                <body>printf(&quot;do Activity of Full State\n&quot;);</body>
+              </doActivity>
+              <entry xmi:type="uml:OpaqueBehavior" xmi:id="_Erw9MKxpEeiPApgkayeLVg" name="entry_Full">
+                <language>C/C++</language>
+                <body>printf(&quot;Enter to Full State\n&quot;);</body>
+              </entry>
+              <exit xmi:type="uml:OpaqueBehavior" xmi:id="_FaK7UKxpEeiPApgkayeLVg" name="exit_Full">
+                <language>C/C++</language>
+                <body>printf(&quot;Exit from Full State\n&quot;);</body>
+              </exit>
+            </subvertex>
+          </region>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_uaa00G4cEeiQkc1FO4uxgA" name="fill" visibility="public" method="_kFJtsH0QEeiDS63tULewcA">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ufxEsH0LEeiDS63tULewcA" name="x">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_vg57wG4cEeiQkc1FO4uxgA" name="withdraw" visibility="public" method="_Xw-7cH0SEeiDS63tULewcA">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_yjtlcG4cEeiQkc1FO4uxgA" name="x">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_CtKkwH1REeiOvJbQeRuWmA" name="run" method="_hbnPEH1REeiOvJbQeRuWmA"/>
+        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_kFJtsH0QEeiDS63tULewcA" name="fill" specification="_uaa00G4cEeiQkc1FO4uxgA">
+          <language>C/C++</language>
+          <body>printf(&quot;fill the bathtub with liquid quantity = %d \n&quot;, x);&#xD;
+</body>
+        </nestedClassifier>
+        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_Xw-7cH0SEeiDS63tULewcA" name="withdraw" specification="_vg57wG4cEeiQkc1FO4uxgA">
+          <language>C/C++</language>
+          <body>printf(&quot;remove the liquid quantity  %d from the bathtub \n&quot;, x);</body>
+        </nestedClassifier>
+        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_hbnPEH1REeiOvJbQeRuWmA" name="run" specification="_CtKkwH1REeiOvJbQeRuWmA">
+          <language>C/C++</language>
+          <body>&#xD;
+	Bathtub_fill(self, 50);&#xD;
+	Bathtub_withdraw(self, 10);&#xD;
+	Bathtub_fill(self, 30);&#xD;
+	Bathtub_fill(self, 30);</body>
+        </nestedClassifier>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_iYk4gH1PEeiOvJbQeRuWmA" name="Main"/>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_yYOMEH1PEeiOvJbQeRuWmA" client="_iYk4gH1PEeiOvJbQeRuWmA" supplier="_mdTNQG4cEeiQkc1FO4uxgA"/>
+      <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_N2I-wH0ZEeiDS63tULewcA">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2KM4H0ZEeiDS63tULewcA" 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>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_EklfYH0PEeiDS63tULewcA" name="events">
+      <packagedElement xmi:type="uml:CallEvent" xmi:id="_GQC7oH0PEeiDS63tULewcA" name="fill" operation="_uaa00G4cEeiQkc1FO4uxgA"/>
+      <packagedElement xmi:type="uml:CallEvent" xmi:id="_HFFtQH0PEeiDS63tULewcA" name="remove" operation="_vg57wG4cEeiQkc1FO4uxgA"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ZlGrcG4fEeiQkc1FO4uxgA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZlP1YG4fEeiQkc1FO4uxgA" 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="_udMg8H1PEeiOvJbQeRuWmA" body="#include &quot;Bathtub.h&quot;&#xD;&#xA;&#xD;&#xA;// Include from Include declaration (body)&#xD;&#xA;int main(void) {&#xD;&#xA;&#x9;Bathtub * myBathtub =Bathtub_create();&#xD;&#xA;&#x9;Bathtub_init(myBathtub);&#xD;&#xA;&#x9;Bathtub_run (myBathtub);&#xD;&#xA;&#x9;return 1;&#xD;&#xA;}" base_class="_iYk4gH1PEeiOvJbQeRuWmA" base_Classifier="_iYk4gH1PEeiOvJbQeRuWmA"/>
+</xmi:XMI>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.di b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.di
index 0812886..8c549ee 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.di
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.di
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.infra.services.edit.TypeContext"/>
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.infra.services.edit.TypeContext"/>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.notation b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.notation
index 9bdfbdb..e8a6b8a 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.notation
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.notation
@@ -1,321 +1,321 @@
-<?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/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
-  <notation:Diagram xmi:id="_lX0y8G4cEeiQkc1FO4uxgA" type="PapyrusUMLClassDiagram" name="NewClassDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_8752wH0OEeiDS63tULewcA" type="Package_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_8752wn0OEeiDS63tULewcA" type="Package_NameLabel"/>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_8752w30OEeiDS63tULewcA" type="Package_PackagedElementCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_mdmIMG4cEeiQkc1FO4uxgA" type="Class_Shape">
-          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIG4cEeiQkc1FO4uxgA" type="Class_NameLabel"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIW4cEeiQkc1FO4uxgA" type="Class_FloatingNameLabel">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_md5DIm4cEeiQkc1FO4uxgA" y="15"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0IG4cEeiQkc1FO4uxgA" type="Class_AttributeCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_o3xEkG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
-              <element xmi:type="uml:Property" href="TestCGenerator.uml#_o3n6oG4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_o3xEkW4cEeiQkc1FO4uxgA"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_pYFjYG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
-              <element xmi:type="uml:Property" href="TestCGenerator.uml#_pXpegG4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_pYFjYW4cEeiQkc1FO4uxgA"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0IW4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0Im4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0I24cEeiQkc1FO4uxgA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0JG4cEeiQkc1FO4uxgA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0JW4cEeiQkc1FO4uxgA" type="Class_OperationCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_ua5V8G4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
-              <element xmi:type="uml:Operation" href="TestCGenerator.uml#_uaa00G4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_ua5V8W4cEeiQkc1FO4uxgA"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_vhDswG4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
-              <element xmi:type="uml:Operation" href="TestCGenerator.uml#_vg57wG4cEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_vhDswW4cEeiQkc1FO4uxgA"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_CteGwH1REeiOvJbQeRuWmA" type="Operation_ClassOperationLabel">
-              <element xmi:type="uml:Operation" href="TestCGenerator.uml#_CtKkwH1REeiOvJbQeRuWmA"/>
-              <layoutConstraint xmi:type="notation:Location" xmi:id="_CteGwX1REeiOvJbQeRuWmA"/>
-            </children>
-            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0Jm4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0J24cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0KG4cEeiQkc1FO4uxgA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0KW4cEeiQkc1FO4uxgA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0Km4cEeiQkc1FO4uxgA" type="Class_NestedClassifierCompartment">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0K24cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0LG4cEeiQkc1FO4uxgA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0LW4cEeiQkc1FO4uxgA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0Lm4cEeiQkc1FO4uxgA"/>
-          </children>
-          <element xmi:type="uml:Class" href="TestCGenerator.uml#_mdTNQG4cEeiQkc1FO4uxgA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mdmIMW4cEeiQkc1FO4uxgA" x="134" y="16" width="201"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_iY3zcH1PEeiOvJbQeRuWmA" type="Class_Shape_CN">
-          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zcn1PEeiOvJbQeRuWmA" type="Class_NameLabel_CN"/>
-          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zc31PEeiOvJbQeRuWmA" type="Class_FloatingNameLabel_CN">
-            <layoutConstraint xmi:type="notation:Location" xmi:id="_iY3zdH1PEeiOvJbQeRuWmA" y="15"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zdX1PEeiOvJbQeRuWmA" type="Class_AttributeCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zdn1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zd31PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zeH1PEeiOvJbQeRuWmA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zeX1PEeiOvJbQeRuWmA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zen1PEeiOvJbQeRuWmA" type="Class_OperationCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3ze31PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zfH1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zfX1PEeiOvJbQeRuWmA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zfn1PEeiOvJbQeRuWmA"/>
-          </children>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zf31PEeiOvJbQeRuWmA" type="Class_NestedClassifierCompartment_CN">
-            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zgH1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zgX1PEeiOvJbQeRuWmA"/>
-            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zgn1PEeiOvJbQeRuWmA"/>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zg31PEeiOvJbQeRuWmA"/>
-          </children>
-          <element xmi:type="uml:Class" href="TestCGenerator.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zcX1PEeiOvJbQeRuWmA" x="134" y="256" width="201" height="100"/>
-        </children>
-        <children xmi:type="notation:Shape" xmi:id="_udgC_X1PEeiOvJbQeRuWmA" type="StereotypeComment">
-          <styles xmi:type="notation:TitleStyle" xmi:id="_udgC_n1PEeiOvJbQeRuWmA"/>
-          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM4H1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
-            <eObjectValue xmi:type="uml:Class" href="TestCGenerator.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
-          </styles>
-          <element xsi:nil="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udgC_31PEeiOvJbQeRuWmA" x="334" y="256"/>
-        </children>
-        <styles xmi:type="notation:TitleStyle" xmi:id="_8752xH0OEeiDS63tULewcA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752xX0OEeiDS63tULewcA"/>
-      </children>
-      <element xmi:type="uml:Package" href="TestCGenerator.uml#_87wFwH0OEeiDS63tULewcA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752wX0OEeiDS63tULewcA" x="40" y="40" width="681" height="421"/>
-    </children>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_lX0y8W4cEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_lX0y8m4cEeiQkc1FO4uxgA"/>
-    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_lX0y824cEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
-      <owner xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
-    </styles>
-    <element xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_udpM4X1PEeiOvJbQeRuWmA" type="StereotypeCommentLink" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_udgC_X1PEeiOvJbQeRuWmA">
-      <styles xmi:type="notation:FontStyle" xmi:id="_udpM4n1PEeiOvJbQeRuWmA"/>
-      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM5n1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
-        <eObjectValue xmi:type="uml:Class" href="TestCGenerator.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
-      </styles>
-      <element xsi:nil="true"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_udpM431PEeiOvJbQeRuWmA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5H1PEeiOvJbQeRuWmA"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5X1PEeiOvJbQeRuWmA"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_yYbncH1PEeiOvJbQeRuWmA" type="Dependency_Edge" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_mdmIMG4cEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_yYbnc31PEeiOvJbQeRuWmA" type="Dependency_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndH1PEeiOvJbQeRuWmA" y="40"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_yYbndX1PEeiOvJbQeRuWmA" type="Dependency_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndn1PEeiOvJbQeRuWmA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_yYbncX1PEeiOvJbQeRuWmA"/>
-      <element xmi:type="uml:Dependency" href="TestCGenerator.uml#_yYOMEH1PEeiOvJbQeRuWmA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yYbncn1PEeiOvJbQeRuWmA" points="[280, 324, -643984, -643984]$[280, 219, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUH1PEeiOvJbQeRuWmA" id="(0.4975124378109453,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUX1PEeiOvJbQeRuWmA" id="(0.4975124378109453,1.0)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_OEdDAG4wEeiQkc1FO4uxgA" type="PapyrusUMLStateMachineDiagram" name="NewStateMachineDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_OEdDAW4wEeiQkc1FO4uxgA" type="StateMachine_Shape">
-      <children xmi:type="notation:DecorationNode" xmi:id="_OEdDAm4wEeiQkc1FO4uxgA" type="StateMachine_NameLabel">
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDA24wEeiQkc1FO4uxgA" width="700" height="20"/>
-      </children>
-      <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDBG4wEeiQkc1FO4uxgA" type="StateMachine_RegionCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_OEdDBW4wEeiQkc1FO4uxgA" type="Region_Shape">
-          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdDBm4wEeiQkc1FO4uxgA" source="RegionAnnotationKey">
-            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdDB24wEeiQkc1FO4uxgA" key="RegionZoneKey" value=""/>
-          </eAnnotations>
-          <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDCG4wEeiQkc1FO4uxgA" type="Region_SubvertexCompartment">
-            <children xmi:type="notation:Shape" xmi:id="_TWZdwG4wEeiQkc1FO4uxgA" type="Pseudostate_InitialShape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_TWZdwm4wEeiQkc1FO4uxgA" type="Pseudostate_InitialFloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0G4wEeiQkc1FO4uxgA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_TWaE0W4wEeiQkc1FO4uxgA" type="Pseudostate_InitialStereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0m4wEeiQkc1FO4uxgA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:Pseudostate" href="TestCGenerator.uml#_TWN3kG4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TWZdwW4wEeiQkc1FO4uxgA" x="29" y="110"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_T2UT8G4wEeiQkc1FO4uxgA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT8m4wEeiQkc1FO4uxgA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_km8I8H0MEeiDS63tULewcA" width="100"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT824wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_T2U7AG4wEeiQkc1FO4uxgA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_T2ViEG4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2ViEW4wEeiQkc1FO4uxgA" y="-1" width="100"/>
-              </children>
-              <element xmi:type="uml:State" href="TestCGenerator.uml#_T2FqcG4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2UT8W4wEeiQkc1FO4uxgA" x="149" y="90" width="100"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_UPQ_cG4wEeiQkc1FO4uxgA" type="State_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_cm4wEeiQkc1FO4uxgA" type="State_NameLabel">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lDY0YH0MEeiDS63tULewcA" width="121"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_c24wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_UPQ_dG4wEeiQkc1FO4uxgA" x="40"/>
-              </children>
-              <children xmi:type="notation:BasicCompartment" xmi:id="_UPQ_dW4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
-                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_dm4wEeiQkc1FO4uxgA" y="-1" width="121"/>
-              </children>
-              <element xmi:type="uml:State" href="TestCGenerator.uml#_UPBu4G4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_cW4wEeiQkc1FO4uxgA" x="369" y="90" width="121"/>
-            </children>
-            <children xmi:type="notation:Shape" xmi:id="_ZPNrQG4wEeiQkc1FO4uxgA" type="FinalState_Shape">
-              <children xmi:type="notation:DecorationNode" xmi:id="_ZPNrQm4wEeiQkc1FO4uxgA" type="FinalState_FloatingNameLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPNrQ24wEeiQkc1FO4uxgA" x="25" y="3"/>
-              </children>
-              <children xmi:type="notation:DecorationNode" xmi:id="_ZPOSUG4wEeiQkc1FO4uxgA" type="FinalState_StereotypeLabel">
-                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPOSUW4wEeiQkc1FO4uxgA" x="25" y="-10"/>
-              </children>
-              <element xmi:type="uml:FinalState" href="TestCGenerator.uml#_ZO0CoG4wEeiQkc1FO4uxgA"/>
-              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPNrQW4wEeiQkc1FO4uxgA" x="569" y="110"/>
-            </children>
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCW4wEeiQkc1FO4uxgA"/>
-          </children>
-          <element xmi:type="uml:Region" href="TestCGenerator.uml#_OEbN0G4wEeiQkc1FO4uxgA"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCm4wEeiQkc1FO4uxgA" width="700" height="280"/>
-        </children>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDC24wEeiQkc1FO4uxgA" y="20" width="700" height="280"/>
-      </children>
-      <element xmi:type="uml:StateMachine" href="TestCGenerator.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDDG4wEeiQkc1FO4uxgA" x="30" y="30" width="700" height="300"/>
-    </children>
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_OEdDDW4wEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_OEdDDm4wEeiQkc1FO4uxgA"/>
-    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_OEdDD24wEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.stateMachine">
-      <owner xmi:type="uml:StateMachine" href="TestCGenerator.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
-    </styles>
-    <element xmi:type="uml:StateMachine" href="TestCGenerator.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
-    <edges xmi:type="notation:Connector" xmi:id="_aeuyYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_TWZdwG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcG4wEeiQkc1FO4uxgA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R4g9UH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZcW4wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcm4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5RyUH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZc24wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_aevZdG4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5ueQH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZdW4wEeiQkc1FO4uxgA" x="1" y="58"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_aeuyYW4wEeiQkc1FO4uxgA"/>
-      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_aa7QcG4wEeiQkc1FO4uxgA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aeuyYm4wEeiQkc1FO4uxgA" points="[109, 80, -643984, -643984]$[240, 160, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aga0cG4wEeiQkc1FO4uxgA" id="(0.45,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_agbbgG4wEeiQkc1FO4uxgA" id="(0.0,0.45454545454545453)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a5IPYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_T2UT8G4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPY24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5IPZG4wEeiQkc1FO4uxgA" x="9" y="13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPZW4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cG4wEeiQkc1FO4uxgA" x="-2" y="33"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a5I2cW4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cm4wEeiQkc1FO4uxgA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a5IPYW4wEeiQkc1FO4uxgA"/>
-      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_a4vN0G4wEeiQkc1FO4uxgA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a5IPYm4wEeiQkc1FO4uxgA" points="[280, 174, -643984, -643984]$[400, 174, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8G4wEeiQkc1FO4uxgA" id="(1.0,0.7727272727272727)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8W4wEeiQkc1FO4uxgA" id="(0.0,0.7727272727272727)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_bezIQG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_ZPNrQG4wEeiQkc1FO4uxgA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V8RGoH1AEeiUl9OrBp2G3w" source="PapyrusCSSForceValue">
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V8RGoX1AEeiUl9OrBp2G3w" key="routing" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vF6roH1AEeiUl9OrBp2G3w" key="closestDistance" value="true"/>
-        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vP2qwH1AEeiUl9OrBp2G3w" key="avoidObstructions" value="true"/>
-      </eAnnotations>
-      <children xmi:type="notation:DecorationNode" xmi:id="_bezIQ24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lbr_oH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezIRG4wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUG4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lb-6kH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvUW4wEeiQkc1FO4uxgA"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUm4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lcSckH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvU24wEeiQkc1FO4uxgA" y="59"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_bezIQW4wEeiQkc1FO4uxgA"/>
-      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_bebU0G4wEeiQkc1FO4uxgA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bezIQm4wEeiQkc1FO4uxgA" points="[501, 160, -643984, -643984]$[621, 171, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUG4wEeiQkc1FO4uxgA" id="(1.0,0.45454545454545453)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUW4wEeiQkc1FO4uxgA" id="(0.2,0.1)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mrQKEH0MEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
-      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKE30MEeiDS63tULewcA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXOfQH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFH0MEeiDS63tULewcA" x="-9" y="13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKFX0MEeiDS63tULewcA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXqkIH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFn0MEeiDS63tULewcA" y="33"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKF30MEeiDS63tULewcA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nYRBEH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKGH0MEeiDS63tULewcA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mrQKEX0MEeiDS63tULewcA"/>
-      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_mnr4sH0MEeiDS63tULewcA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mrQKEn0MEeiDS63tULewcA" points="[410, 140, -643984, -643984]$[260, 140, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4H0MEeiDS63tULewcA" id="(0.0,0.45454545454545453)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4X0MEeiDS63tULewcA" id="(1.0,0.45454545454545453)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Ez0gIH0NEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Tree">
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gI30NEeiDS63tULewcA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbkhEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJH0NEeiDS63tULewcA" x="-49" y="13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJX0NEeiDS63tULewcA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbuSEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJn0NEeiDS63tULewcA" x="-11" y="-27"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJ30NEeiDS63tULewcA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GcBNAH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gKH0NEeiDS63tULewcA" y="60"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Ez0gIX0NEeiDS63tULewcA"/>
-      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_EzhlMH0NEeiDS63tULewcA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ez0gIn0NEeiDS63tULewcA" points="[460, 184, -643984, -643984]$[460, 220, -643984, -643984]$[420, 220, -643984, -643984]$[420, 184, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAH0NEeiDS63tULewcA" id="(0.594059405940594,1.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAX0NEeiDS63tULewcA" id="(0.19801980198019803,1.0)"/>
-    </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_rrJxkH0XEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Rectilinear">
-      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxk30XEeiDS63tULewcA" type="Transition_NameLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUC9kH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxlH0XEeiDS63tULewcA" x="-7" y="-33"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxlX0XEeiDS63tULewcA" type="Transition_GuardLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUMukH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxln0XEeiDS63tULewcA" x="4" y="-13"/>
-      </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxl30XEeiDS63tULewcA" type="Transition_StereotypeLabel">
-        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUfpgH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxmH0XEeiDS63tULewcA" x="-1" y="57"/>
-      </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_rrJxkX0XEeiDS63tULewcA"/>
-      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_rq22oH0XEeiDS63tULewcA"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rrJxkn0XEeiDS63tULewcA" points="[420, 140, -643984, -643984]$[420, 100, -643984, -643984]$[460, 100, -643984, -643984]$[460, 140, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgH0XEeiDS63tULewcA" id="(0.19801980198019803,0.0)"/>
-      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgX0XEeiDS63tULewcA" id="(0.594059405940594,0.0)"/>
-    </edges>
-  </notation:Diagram>
-  <notation:Diagram xmi:id="_2ZeSEG5IEeiQkc1FO4uxgA" type="CompositeStructure" name="NewCompositeStructureDiagram" measurementUnit="Pixel">
-    <styles xmi:type="notation:StringValueStyle" xmi:id="_2ZeSEW5IEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
-    <styles xmi:type="notation:DiagramStyle" xmi:id="_2ZeSEm5IEeiQkc1FO4uxgA"/>
-    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_2ZeSE25IEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.compositeStructure.root.package">
-      <owner xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
-    </styles>
-    <element xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
-  </notation:Diagram>
-</xmi:XMI>
+<?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/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+  <notation:Diagram xmi:id="_lX0y8G4cEeiQkc1FO4uxgA" type="PapyrusUMLClassDiagram" name="NewClassDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_8752wH0OEeiDS63tULewcA" type="Package_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_8752wn0OEeiDS63tULewcA" type="Package_NameLabel"/>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_8752w30OEeiDS63tULewcA" type="Package_PackagedElementCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_mdmIMG4cEeiQkc1FO4uxgA" type="Class_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIG4cEeiQkc1FO4uxgA" type="Class_NameLabel"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_md5DIW4cEeiQkc1FO4uxgA" type="Class_FloatingNameLabel">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_md5DIm4cEeiQkc1FO4uxgA" y="15"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0IG4cEeiQkc1FO4uxgA" type="Class_AttributeCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_o3xEkG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
+              <element xmi:type="uml:Property" href="TestCGenerator.uml#_o3n6oG4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_o3xEkW4cEeiQkc1FO4uxgA"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_pYFjYG4cEeiQkc1FO4uxgA" type="Property_ClassAttributeLabel">
+              <element xmi:type="uml:Property" href="TestCGenerator.uml#_pXpegG4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_pYFjYW4cEeiQkc1FO4uxgA"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0IW4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0Im4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0I24cEeiQkc1FO4uxgA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0JG4cEeiQkc1FO4uxgA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0JW4cEeiQkc1FO4uxgA" type="Class_OperationCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_ua5V8G4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
+              <element xmi:type="uml:Operation" href="TestCGenerator.uml#_uaa00G4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_ua5V8W4cEeiQkc1FO4uxgA"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_vhDswG4cEeiQkc1FO4uxgA" type="Operation_ClassOperationLabel">
+              <element xmi:type="uml:Operation" href="TestCGenerator.uml#_vg57wG4cEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_vhDswW4cEeiQkc1FO4uxgA"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_CteGwH1REeiOvJbQeRuWmA" type="Operation_ClassOperationLabel">
+              <element xmi:type="uml:Operation" href="TestCGenerator.uml#_CtKkwH1REeiOvJbQeRuWmA"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_CteGwX1REeiOvJbQeRuWmA"/>
+            </children>
+            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0Jm4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0J24cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0KG4cEeiQkc1FO4uxgA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0KW4cEeiQkc1FO4uxgA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_meC0Km4cEeiQkc1FO4uxgA" type="Class_NestedClassifierCompartment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_meC0K24cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_meC0LG4cEeiQkc1FO4uxgA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_meC0LW4cEeiQkc1FO4uxgA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_meC0Lm4cEeiQkc1FO4uxgA"/>
+          </children>
+          <element xmi:type="uml:Class" href="TestCGenerator.uml#_mdTNQG4cEeiQkc1FO4uxgA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mdmIMW4cEeiQkc1FO4uxgA" x="134" y="16" width="201"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_iY3zcH1PEeiOvJbQeRuWmA" type="Class_Shape_CN">
+          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zcn1PEeiOvJbQeRuWmA" type="Class_NameLabel_CN"/>
+          <children xmi:type="notation:DecorationNode" xmi:id="_iY3zc31PEeiOvJbQeRuWmA" type="Class_FloatingNameLabel_CN">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_iY3zdH1PEeiOvJbQeRuWmA" y="15"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zdX1PEeiOvJbQeRuWmA" type="Class_AttributeCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zdn1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zd31PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zeH1PEeiOvJbQeRuWmA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zeX1PEeiOvJbQeRuWmA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zen1PEeiOvJbQeRuWmA" type="Class_OperationCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3ze31PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zfH1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zfX1PEeiOvJbQeRuWmA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zfn1PEeiOvJbQeRuWmA"/>
+          </children>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_iY3zf31PEeiOvJbQeRuWmA" type="Class_NestedClassifierCompartment_CN">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_iY3zgH1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_iY3zgX1PEeiOvJbQeRuWmA"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_iY3zgn1PEeiOvJbQeRuWmA"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zg31PEeiOvJbQeRuWmA"/>
+          </children>
+          <element xmi:type="uml:Class" href="TestCGenerator.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iY3zcX1PEeiOvJbQeRuWmA" x="134" y="256" width="201" height="100"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_udgC_X1PEeiOvJbQeRuWmA" type="StereotypeComment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_udgC_n1PEeiOvJbQeRuWmA"/>
+          <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM4H1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
+            <eObjectValue xmi:type="uml:Class" href="TestCGenerator.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
+          </styles>
+          <element xsi:nil="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_udgC_31PEeiOvJbQeRuWmA" x="334" y="256"/>
+        </children>
+        <styles xmi:type="notation:TitleStyle" xmi:id="_8752xH0OEeiDS63tULewcA"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752xX0OEeiDS63tULewcA"/>
+      </children>
+      <element xmi:type="uml:Package" href="TestCGenerator.uml#_87wFwH0OEeiDS63tULewcA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8752wX0OEeiDS63tULewcA" x="40" y="40" width="681" height="421"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_lX0y8W4cEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_lX0y8m4cEeiQkc1FO4uxgA"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_lX0y824cEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+      <owner xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
+    </styles>
+    <element xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_udpM4X1PEeiOvJbQeRuWmA" type="StereotypeCommentLink" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_udgC_X1PEeiOvJbQeRuWmA">
+      <styles xmi:type="notation:FontStyle" xmi:id="_udpM4n1PEeiOvJbQeRuWmA"/>
+      <styles xmi:type="notation:EObjectValueStyle" xmi:id="_udpM5n1PEeiOvJbQeRuWmA" name="BASE_ELEMENT">
+        <eObjectValue xmi:type="uml:Class" href="TestCGenerator.uml#_iYk4gH1PEeiOvJbQeRuWmA"/>
+      </styles>
+      <element xsi:nil="true"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_udpM431PEeiOvJbQeRuWmA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5H1PEeiOvJbQeRuWmA"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_udpM5X1PEeiOvJbQeRuWmA"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_yYbncH1PEeiOvJbQeRuWmA" type="Dependency_Edge" source="_iY3zcH1PEeiOvJbQeRuWmA" target="_mdmIMG4cEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_yYbnc31PEeiOvJbQeRuWmA" type="Dependency_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndH1PEeiOvJbQeRuWmA" y="40"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_yYbndX1PEeiOvJbQeRuWmA" type="Dependency_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yYbndn1PEeiOvJbQeRuWmA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_yYbncX1PEeiOvJbQeRuWmA"/>
+      <element xmi:type="uml:Dependency" href="TestCGenerator.uml#_yYOMEH1PEeiOvJbQeRuWmA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yYbncn1PEeiOvJbQeRuWmA" points="[280, 324, -643984, -643984]$[280, 219, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUH1PEeiOvJbQeRuWmA" id="(0.4975124378109453,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yZBdUX1PEeiOvJbQeRuWmA" id="(0.4975124378109453,1.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_OEdDAG4wEeiQkc1FO4uxgA" type="PapyrusUMLStateMachineDiagram" name="NewStateMachineDiagram" measurementUnit="Pixel">
+    <children xmi:type="notation:Shape" xmi:id="_OEdDAW4wEeiQkc1FO4uxgA" type="StateMachine_Shape">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OEdDAm4wEeiQkc1FO4uxgA" type="StateMachine_NameLabel">
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDA24wEeiQkc1FO4uxgA" width="700" height="20"/>
+      </children>
+      <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDBG4wEeiQkc1FO4uxgA" type="StateMachine_RegionCompartment">
+        <children xmi:type="notation:Shape" xmi:id="_OEdDBW4wEeiQkc1FO4uxgA" type="Region_Shape">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OEdDBm4wEeiQkc1FO4uxgA" source="RegionAnnotationKey">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_OEdDB24wEeiQkc1FO4uxgA" key="RegionZoneKey" value=""/>
+          </eAnnotations>
+          <children xmi:type="notation:BasicCompartment" xmi:id="_OEdDCG4wEeiQkc1FO4uxgA" type="Region_SubvertexCompartment">
+            <children xmi:type="notation:Shape" xmi:id="_TWZdwG4wEeiQkc1FO4uxgA" type="Pseudostate_InitialShape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_TWZdwm4wEeiQkc1FO4uxgA" type="Pseudostate_InitialFloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0G4wEeiQkc1FO4uxgA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_TWaE0W4wEeiQkc1FO4uxgA" type="Pseudostate_InitialStereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_TWaE0m4wEeiQkc1FO4uxgA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:Pseudostate" href="TestCGenerator.uml#_TWN3kG4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TWZdwW4wEeiQkc1FO4uxgA" x="29" y="110"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_T2UT8G4wEeiQkc1FO4uxgA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT8m4wEeiQkc1FO4uxgA" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_km8I8H0MEeiDS63tULewcA" width="100"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_T2UT824wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_T2U7AG4wEeiQkc1FO4uxgA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_T2ViEG4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2ViEW4wEeiQkc1FO4uxgA" y="-1" width="100"/>
+              </children>
+              <element xmi:type="uml:State" href="TestCGenerator.uml#_T2FqcG4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T2UT8W4wEeiQkc1FO4uxgA" x="149" y="90" width="100"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_UPQ_cG4wEeiQkc1FO4uxgA" type="State_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_cm4wEeiQkc1FO4uxgA" type="State_NameLabel">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lDY0YH0MEeiDS63tULewcA" width="121"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_UPQ_c24wEeiQkc1FO4uxgA" type="State_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_UPQ_dG4wEeiQkc1FO4uxgA" x="40"/>
+              </children>
+              <children xmi:type="notation:BasicCompartment" xmi:id="_UPQ_dW4wEeiQkc1FO4uxgA" type="State_RegionCompartment">
+                <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_dm4wEeiQkc1FO4uxgA" y="-1" width="121"/>
+              </children>
+              <element xmi:type="uml:State" href="TestCGenerator.uml#_UPBu4G4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UPQ_cW4wEeiQkc1FO4uxgA" x="369" y="90" width="121"/>
+            </children>
+            <children xmi:type="notation:Shape" xmi:id="_ZPNrQG4wEeiQkc1FO4uxgA" type="FinalState_Shape">
+              <children xmi:type="notation:DecorationNode" xmi:id="_ZPNrQm4wEeiQkc1FO4uxgA" type="FinalState_FloatingNameLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPNrQ24wEeiQkc1FO4uxgA" x="25" y="3"/>
+              </children>
+              <children xmi:type="notation:DecorationNode" xmi:id="_ZPOSUG4wEeiQkc1FO4uxgA" type="FinalState_StereotypeLabel">
+                <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPOSUW4wEeiQkc1FO4uxgA" x="25" y="-10"/>
+              </children>
+              <element xmi:type="uml:FinalState" href="TestCGenerator.uml#_ZO0CoG4wEeiQkc1FO4uxgA"/>
+              <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPNrQW4wEeiQkc1FO4uxgA" x="569" y="110"/>
+            </children>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCW4wEeiQkc1FO4uxgA"/>
+          </children>
+          <element xmi:type="uml:Region" href="TestCGenerator.uml#_OEbN0G4wEeiQkc1FO4uxgA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDCm4wEeiQkc1FO4uxgA" width="700" height="280"/>
+        </children>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDC24wEeiQkc1FO4uxgA" y="20" width="700" height="280"/>
+      </children>
+      <element xmi:type="uml:StateMachine" href="TestCGenerator.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OEdDDG4wEeiQkc1FO4uxgA" x="30" y="30" width="700" height="300"/>
+    </children>
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_OEdDDW4wEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_OEdDDm4wEeiQkc1FO4uxgA"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_OEdDD24wEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.stateMachine">
+      <owner xmi:type="uml:StateMachine" href="TestCGenerator.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
+    </styles>
+    <element xmi:type="uml:StateMachine" href="TestCGenerator.uml#_MYi60G4wEeiQkc1FO4uxgA"/>
+    <edges xmi:type="notation:Connector" xmi:id="_aeuyYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_TWZdwG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcG4wEeiQkc1FO4uxgA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R4g9UH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZcW4wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aevZcm4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5RyUH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZc24wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_aevZdG4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_R5ueQH1AEeiUl9OrBp2G3w" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_aevZdW4wEeiQkc1FO4uxgA" x="1" y="58"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_aeuyYW4wEeiQkc1FO4uxgA"/>
+      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_aa7QcG4wEeiQkc1FO4uxgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aeuyYm4wEeiQkc1FO4uxgA" points="[109, 80, -643984, -643984]$[240, 160, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aga0cG4wEeiQkc1FO4uxgA" id="(0.45,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_agbbgG4wEeiQkc1FO4uxgA" id="(0.0,0.45454545454545453)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_a5IPYG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_T2UT8G4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPY24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5IPZG4wEeiQkc1FO4uxgA" x="9" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a5IPZW4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cG4wEeiQkc1FO4uxgA" x="-2" y="33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_a5I2cW4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_a5I2cm4wEeiQkc1FO4uxgA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_a5IPYW4wEeiQkc1FO4uxgA"/>
+      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_a4vN0G4wEeiQkc1FO4uxgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a5IPYm4wEeiQkc1FO4uxgA" points="[280, 174, -643984, -643984]$[400, 174, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8G4wEeiQkc1FO4uxgA" id="(1.0,0.7727272727272727)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a50y8W4wEeiQkc1FO4uxgA" id="(0.0,0.7727272727272727)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_bezIQG4wEeiQkc1FO4uxgA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_ZPNrQG4wEeiQkc1FO4uxgA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V8RGoH1AEeiUl9OrBp2G3w" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V8RGoX1AEeiUl9OrBp2G3w" key="routing" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vF6roH1AEeiUl9OrBp2G3w" key="closestDistance" value="true"/>
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vP2qwH1AEeiUl9OrBp2G3w" key="avoidObstructions" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bezIQ24wEeiQkc1FO4uxgA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lbr_oH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezIRG4wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUG4wEeiQkc1FO4uxgA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lb-6kH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvUW4wEeiQkc1FO4uxgA"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_bezvUm4wEeiQkc1FO4uxgA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lcSckH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_bezvU24wEeiQkc1FO4uxgA" y="59"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_bezIQW4wEeiQkc1FO4uxgA"/>
+      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_bebU0G4wEeiQkc1FO4uxgA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bezIQm4wEeiQkc1FO4uxgA" points="[501, 160, -643984, -643984]$[621, 171, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUG4wEeiQkc1FO4uxgA" id="(1.0,0.45454545454545453)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bf4GUW4wEeiQkc1FO4uxgA" id="(0.2,0.1)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_mrQKEH0MEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_T2UT8G4wEeiQkc1FO4uxgA">
+      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKE30MEeiDS63tULewcA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXOfQH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFH0MEeiDS63tULewcA" x="-9" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKFX0MEeiDS63tULewcA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nXqkIH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKFn0MEeiDS63tULewcA" y="33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_mrQKF30MEeiDS63tULewcA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nYRBEH0MEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_mrQKGH0MEeiDS63tULewcA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mrQKEX0MEeiDS63tULewcA"/>
+      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_mnr4sH0MEeiDS63tULewcA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mrQKEn0MEeiDS63tULewcA" points="[410, 140, -643984, -643984]$[260, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4H0MEeiDS63tULewcA" id="(0.0,0.45454545454545453)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mscc4X0MEeiDS63tULewcA" id="(1.0,0.45454545454545453)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_Ez0gIH0NEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Tree">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gI30NEeiDS63tULewcA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbkhEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJH0NEeiDS63tULewcA" x="-49" y="13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJX0NEeiDS63tULewcA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GbuSEH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gJn0NEeiDS63tULewcA" x="-11" y="-27"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_Ez0gJ30NEeiDS63tULewcA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_GcBNAH0NEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_Ez0gKH0NEeiDS63tULewcA" y="60"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Ez0gIX0NEeiDS63tULewcA"/>
+      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_EzhlMH0NEeiDS63tULewcA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ez0gIn0NEeiDS63tULewcA" points="[460, 184, -643984, -643984]$[460, 220, -643984, -643984]$[420, 220, -643984, -643984]$[420, 184, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAH0NEeiDS63tULewcA" id="(0.594059405940594,1.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_E0kHAX0NEeiDS63tULewcA" id="(0.19801980198019803,1.0)"/>
+    </edges>
+    <edges xmi:type="notation:Connector" xmi:id="_rrJxkH0XEeiDS63tULewcA" type="Transition_Edge" source="_UPQ_cG4wEeiQkc1FO4uxgA" target="_UPQ_cG4wEeiQkc1FO4uxgA" routing="Rectilinear">
+      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxk30XEeiDS63tULewcA" type="Transition_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUC9kH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxlH0XEeiDS63tULewcA" x="-7" y="-33"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxlX0XEeiDS63tULewcA" type="Transition_GuardLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUMukH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxln0XEeiDS63tULewcA" x="4" y="-13"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_rrJxl30XEeiDS63tULewcA" type="Transition_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_sUfpgH0XEeiDS63tULewcA" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rrJxmH0XEeiDS63tULewcA" x="-1" y="57"/>
+      </children>
+      <styles xmi:type="notation:FontStyle" xmi:id="_rrJxkX0XEeiDS63tULewcA"/>
+      <element xmi:type="uml:Transition" href="TestCGenerator.uml#_rq22oH0XEeiDS63tULewcA"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rrJxkn0XEeiDS63tULewcA" points="[420, 140, -643984, -643984]$[420, 100, -643984, -643984]$[460, 100, -643984, -643984]$[460, 140, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgH0XEeiDS63tULewcA" id="(0.19801980198019803,0.0)"/>
+      <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rrwOgX0XEeiDS63tULewcA" id="(0.594059405940594,0.0)"/>
+    </edges>
+  </notation:Diagram>
+  <notation:Diagram xmi:id="_2ZeSEG5IEeiQkc1FO4uxgA" type="CompositeStructure" name="NewCompositeStructureDiagram" measurementUnit="Pixel">
+    <styles xmi:type="notation:StringValueStyle" xmi:id="_2ZeSEW5IEeiQkc1FO4uxgA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+    <styles xmi:type="notation:DiagramStyle" xmi:id="_2ZeSEm5IEeiQkc1FO4uxgA"/>
+    <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_2ZeSE25IEeiQkc1FO4uxgA" diagramKindId="org.eclipse.papyrus.uml.diagram.compositeStructure.root.package">
+      <owner xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
+    </styles>
+    <element xmi:type="uml:Model" href="TestCGenerator.uml#_dRQ7gG4cEeiQkc1FO4uxgA"/>
+  </notation:Diagram>
+</xmi:XMI>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.uml b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.uml
index dd8f116..a65c256 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.uml
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/resources/TestCGenerator.uml
@@ -1,132 +1,132 @@
-<?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="_dRQ7gG4cEeiQkc1FO4uxgA" name="TestCGenerator">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_d46xYG4cEeiQkc1FO4uxgA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Package" xmi:id="_87wFwH0OEeiDS63tULewcA" name="Bathtub">
-      <packagedElement xmi:type="uml:Class" xmi:id="_mdTNQG4cEeiQkc1FO4uxgA" name="Bathtub" classifierBehavior="_MYi60G4wEeiQkc1FO4uxgA" isActive="true">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_o3n6oG4cEeiQkc1FO4uxgA" name="Lm">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_pXpegG4cEeiQkc1FO4uxgA" name="l">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_MYi60G4wEeiQkc1FO4uxgA" name="ButhtubStateMachine">
-          <region xmi:type="uml:Region" xmi:id="_OEbN0G4wEeiQkc1FO4uxgA" name="Region1">
-            <transition xmi:type="uml:Transition" xmi:id="_aa7QcG4wEeiQkc1FO4uxgA" source="_TWN3kG4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_a4vN0G4wEeiQkc1FO4uxgA" name="E2F" guard="_fwH04H0VEeiDS63tULewcA" source="_T2FqcG4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_fwH04H0VEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_d0KpEH0WEeiDS63tULewcA">
-                  <language>C/C++</language>
-                  <body>x &lt;= self->Lm - self->l</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_wyJmAH7XEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>printf(&quot;New State is Filled \n&quot;);</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_nYLSwH0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_bebU0G4wEeiQkc1FO4uxgA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_ZO0CoG4wEeiQkc1FO4uxgA"/>
-            <transition xmi:type="uml:Transition" xmi:id="_mnr4sH0MEeiDS63tULewcA" name="F2E" guard="__7tWIH0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="__7tWIH0WEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_F8fz4H0XEeiDS63tULewcA">
-                  <language>C\C++</language>
-                  <body>self->l-x==0</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_8he68H7XEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>printf(&quot;New State is Empty \n&quot;);</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_3jBJsH0SEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_EzhlMH0NEeiDS63tULewcA" name="F2FF" guard="_lriN8H0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="_lriN8H0WEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_vXKlwH0WEeiDS63tULewcA">
-                  <language>C\C++</language>
-                  <body>self->l+x&lt;self->Lm</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Nx2PgH7YEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>printf(&quot;Remain in the same state Filled \n&quot;);</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_9IHJ8H0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
-            </transition>
-            <transition xmi:type="uml:Transition" xmi:id="_rq22oH0XEeiDS63tULewcA" name="F2FR" guard="__6IzYH0XEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
-              <ownedRule xmi:type="uml:Constraint" xmi:id="__6IzYH0XEeiDS63tULewcA">
-                <specification xmi:type="uml:OpaqueExpression" xmi:id="_EayUEH0YEeiDS63tULewcA">
-                  <language>C\C++</language>
-                  <body>self->l-x > 0</body>
-                </specification>
-              </ownedRule>
-              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_IH0r8H7YEei0bqkaoBEVJQ" name="msg">
-                <language>C/C++</language>
-                <body>printf(&quot;Remain in the same state Filled \n&quot;);</body>
-              </effect>
-              <trigger xmi:type="uml:Trigger" xmi:id="_7qne8H0XEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
-            </transition>
-            <subvertex xmi:type="uml:Pseudostate" xmi:id="_TWN3kG4wEeiQkc1FO4uxgA" name="Initial1"/>
-            <subvertex xmi:type="uml:State" xmi:id="_T2FqcG4wEeiQkc1FO4uxgA" name="Empty"/>
-            <subvertex xmi:type="uml:State" xmi:id="_UPBu4G4wEeiQkc1FO4uxgA" name="Filled"/>
-            <subvertex xmi:type="uml:FinalState" xmi:id="_ZO0CoG4wEeiQkc1FO4uxgA" name="FinalState1"/>
-          </region>
-        </ownedBehavior>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_uaa00G4cEeiQkc1FO4uxgA" name="fill" visibility="public" method="_kFJtsH0QEeiDS63tULewcA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ufxEsH0LEeiDS63tULewcA" name="x">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_vg57wG4cEeiQkc1FO4uxgA" name="withdraw" visibility="public" method="_Xw-7cH0SEeiDS63tULewcA">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_yjtlcG4cEeiQkc1FO4uxgA" name="x">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_CtKkwH1REeiOvJbQeRuWmA" name="run" method="_hbnPEH1REeiOvJbQeRuWmA"/>
-        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_kFJtsH0QEeiDS63tULewcA" name="fill" specification="_uaa00G4cEeiQkc1FO4uxgA">
-          <language>C/C++</language>
-          <body>printf(&quot;fill the bathtub with liquid quantity = %d \n&quot;, x);&#xD;
-	self->l = self->l + x;&#xD;
-	printf(&quot;new level = %d \n&quot;, self->l);</body>
-        </nestedClassifier>
-        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_Xw-7cH0SEeiDS63tULewcA" name="withdraw" specification="_vg57wG4cEeiQkc1FO4uxgA">
-          <language>C/C++</language>
-          <body>printf(&quot;remove the liquid quantity  %d from the bathtub \n&quot;, x);&#xD;
-		self->l = self->l - x;&#xD;
-		printf(&quot;new level = %d \n&quot;, self->l);</body>
-        </nestedClassifier>
-        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_hbnPEH1REeiOvJbQeRuWmA" name="run" specification="_CtKkwH1REeiOvJbQeRuWmA">
-          <language>C/C++</language>
-          <body>self->activeStateID = Empty;&#xD;
-	self->l = 0;&#xD;
-	self->Lm = 100;&#xD;
-	Bathtub_fill(self, 50);&#xD;
-	Bathtub_withdraw(self, 10);&#xD;
-	Bathtub_fill(self, 30);&#xD;
-	Bathtub_withdraw(self, 70);</body>
-        </nestedClassifier>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_iYk4gH1PEeiOvJbQeRuWmA" name="Main"/>
-      <packagedElement xmi:type="uml:Dependency" xmi:id="_yYOMEH1PEeiOvJbQeRuWmA" client="_iYk4gH1PEeiOvJbQeRuWmA" supplier="_mdTNQG4cEeiQkc1FO4uxgA"/>
-      <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_N2I-wH0ZEeiDS63tULewcA">
-        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2KM4H0ZEeiDS63tULewcA" 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>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_EklfYH0PEeiDS63tULewcA" name="events">
-      <packagedElement xmi:type="uml:CallEvent" xmi:id="_GQC7oH0PEeiDS63tULewcA" name="fill" operation="_uaa00G4cEeiQkc1FO4uxgA"/>
-      <packagedElement xmi:type="uml:CallEvent" xmi:id="_HFFtQH0PEeiDS63tULewcA" name="remove" operation="_vg57wG4cEeiQkc1FO4uxgA"/>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ZlGrcG4fEeiQkc1FO4uxgA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZlP1YG4fEeiQkc1FO4uxgA" 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="_udMg8H1PEeiOvJbQeRuWmA" body="#include &quot;Bathtub.h&quot;&#xD;&#xA;&#xD;&#xA;// Include from Include declaration (body)&#xD;&#xA;int main(void) {&#xD;&#xA;&#x9;Bathtub * myBathtub =Bathtub_create();&#xD;&#xA;&#x9;Bathtub_run (myBathtub);&#xD;&#xA;&#x9;return 1;&#xD;&#xA;}" base_class="_iYk4gH1PEeiOvJbQeRuWmA" base_Classifier="_iYk4gH1PEeiOvJbQeRuWmA"/>
-</xmi:XMI>
+<?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="_dRQ7gG4cEeiQkc1FO4uxgA" name="TestCGenerator">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_d46xYG4cEeiQkc1FO4uxgA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Package" xmi:id="_87wFwH0OEeiDS63tULewcA" name="Bathtub">
+      <packagedElement xmi:type="uml:Class" xmi:id="_mdTNQG4cEeiQkc1FO4uxgA" name="Bathtub" classifierBehavior="_MYi60G4wEeiQkc1FO4uxgA" isActive="true">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_o3n6oG4cEeiQkc1FO4uxgA" name="Lm">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_pXpegG4cEeiQkc1FO4uxgA" name="l">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+        <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_MYi60G4wEeiQkc1FO4uxgA" name="ButhtubStateMachine">
+          <region xmi:type="uml:Region" xmi:id="_OEbN0G4wEeiQkc1FO4uxgA" name="Region1">
+            <transition xmi:type="uml:Transition" xmi:id="_aa7QcG4wEeiQkc1FO4uxgA" source="_TWN3kG4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_a4vN0G4wEeiQkc1FO4uxgA" name="E2F" guard="_fwH04H0VEeiDS63tULewcA" source="_T2FqcG4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_fwH04H0VEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_d0KpEH0WEeiDS63tULewcA">
+                  <language>C/C++</language>
+                  <body>x &lt;= self->Lm - self->l</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_wyJmAH7XEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>printf(&quot;New State is Filled \n&quot;);</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_nYLSwH0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_bebU0G4wEeiQkc1FO4uxgA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_ZO0CoG4wEeiQkc1FO4uxgA"/>
+            <transition xmi:type="uml:Transition" xmi:id="_mnr4sH0MEeiDS63tULewcA" name="F2E" guard="__7tWIH0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_T2FqcG4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="__7tWIH0WEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_F8fz4H0XEeiDS63tULewcA">
+                  <language>C\C++</language>
+                  <body>self->l-x==0</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_8he68H7XEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>printf(&quot;New State is Empty \n&quot;);</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_3jBJsH0SEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_EzhlMH0NEeiDS63tULewcA" name="F2FF" guard="_lriN8H0WEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="_lriN8H0WEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_vXKlwH0WEeiDS63tULewcA">
+                  <language>C\C++</language>
+                  <body>self->l+x&lt;self->Lm</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_Nx2PgH7YEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>printf(&quot;Remain in the same state Filled \n&quot;);</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_9IHJ8H0SEeiDS63tULewcA" event="_GQC7oH0PEeiDS63tULewcA"/>
+            </transition>
+            <transition xmi:type="uml:Transition" xmi:id="_rq22oH0XEeiDS63tULewcA" name="F2FR" guard="__6IzYH0XEeiDS63tULewcA" source="_UPBu4G4wEeiQkc1FO4uxgA" target="_UPBu4G4wEeiQkc1FO4uxgA">
+              <ownedRule xmi:type="uml:Constraint" xmi:id="__6IzYH0XEeiDS63tULewcA">
+                <specification xmi:type="uml:OpaqueExpression" xmi:id="_EayUEH0YEeiDS63tULewcA">
+                  <language>C\C++</language>
+                  <body>self->l-x > 0</body>
+                </specification>
+              </ownedRule>
+              <effect xmi:type="uml:OpaqueBehavior" xmi:id="_IH0r8H7YEei0bqkaoBEVJQ" name="msg">
+                <language>C/C++</language>
+                <body>printf(&quot;Remain in the same state Filled \n&quot;);</body>
+              </effect>
+              <trigger xmi:type="uml:Trigger" xmi:id="_7qne8H0XEeiDS63tULewcA" event="_HFFtQH0PEeiDS63tULewcA"/>
+            </transition>
+            <subvertex xmi:type="uml:Pseudostate" xmi:id="_TWN3kG4wEeiQkc1FO4uxgA" name="Initial1"/>
+            <subvertex xmi:type="uml:State" xmi:id="_T2FqcG4wEeiQkc1FO4uxgA" name="Empty"/>
+            <subvertex xmi:type="uml:State" xmi:id="_UPBu4G4wEeiQkc1FO4uxgA" name="Filled"/>
+            <subvertex xmi:type="uml:FinalState" xmi:id="_ZO0CoG4wEeiQkc1FO4uxgA" name="FinalState1"/>
+          </region>
+        </ownedBehavior>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_uaa00G4cEeiQkc1FO4uxgA" name="fill" visibility="public" method="_kFJtsH0QEeiDS63tULewcA">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ufxEsH0LEeiDS63tULewcA" name="x">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_vg57wG4cEeiQkc1FO4uxgA" name="withdraw" visibility="public" method="_Xw-7cH0SEeiDS63tULewcA">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_yjtlcG4cEeiQkc1FO4uxgA" name="x">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_CtKkwH1REeiOvJbQeRuWmA" name="run" method="_hbnPEH1REeiOvJbQeRuWmA"/>
+        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_kFJtsH0QEeiDS63tULewcA" name="fill" specification="_uaa00G4cEeiQkc1FO4uxgA">
+          <language>C/C++</language>
+          <body>printf(&quot;fill the bathtub with liquid quantity = %d \n&quot;, x);&#xD;
+	self->l = self->l + x;&#xD;
+	printf(&quot;new level = %d \n&quot;, self->l);</body>
+        </nestedClassifier>
+        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_Xw-7cH0SEeiDS63tULewcA" name="withdraw" specification="_vg57wG4cEeiQkc1FO4uxgA">
+          <language>C/C++</language>
+          <body>printf(&quot;remove the liquid quantity  %d from the bathtub \n&quot;, x);&#xD;
+		self->l = self->l - x;&#xD;
+		printf(&quot;new level = %d \n&quot;, self->l);</body>
+        </nestedClassifier>
+        <nestedClassifier xmi:type="uml:OpaqueBehavior" xmi:id="_hbnPEH1REeiOvJbQeRuWmA" name="run" specification="_CtKkwH1REeiOvJbQeRuWmA">
+          <language>C/C++</language>
+          <body>self->activeStateID = Empty;&#xD;
+	self->l = 0;&#xD;
+	self->Lm = 100;&#xD;
+	Bathtub_fill(self, 50);&#xD;
+	Bathtub_withdraw(self, 10);&#xD;
+	Bathtub_fill(self, 30);&#xD;
+	Bathtub_withdraw(self, 70);</body>
+        </nestedClassifier>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_iYk4gH1PEeiOvJbQeRuWmA" name="Main"/>
+      <packagedElement xmi:type="uml:Dependency" xmi:id="_yYOMEH1PEeiOvJbQeRuWmA" client="_iYk4gH1PEeiOvJbQeRuWmA" supplier="_mdTNQG4cEeiQkc1FO4uxgA"/>
+      <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_N2I-wH0ZEeiDS63tULewcA">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N2KM4H0ZEeiDS63tULewcA" 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>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_EklfYH0PEeiDS63tULewcA" name="events">
+      <packagedElement xmi:type="uml:CallEvent" xmi:id="_GQC7oH0PEeiDS63tULewcA" name="fill" operation="_uaa00G4cEeiQkc1FO4uxgA"/>
+      <packagedElement xmi:type="uml:CallEvent" xmi:id="_HFFtQH0PEeiDS63tULewcA" name="remove" operation="_vg57wG4cEeiQkc1FO4uxgA"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ZlGrcG4fEeiQkc1FO4uxgA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZlP1YG4fEeiQkc1FO4uxgA" 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="_udMg8H1PEeiOvJbQeRuWmA" body="#include &quot;Bathtub.h&quot;&#xD;&#xA;&#xD;&#xA;// Include from Include declaration (body)&#xD;&#xA;int main(void) {&#xD;&#xA;&#x9;Bathtub * myBathtub =Bathtub_create();&#xD;&#xA;&#x9;Bathtub_run (myBathtub);&#xD;&#xA;&#x9;return 1;&#xD;&#xA;}" base_class="_iYk4gH1PEeiOvJbQeRuWmA" base_Classifier="_iYk4gH1PEeiOvJbQeRuWmA"/>
+</xmi:XMI>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.java
index 6166782..79e1685 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.java
@@ -21,7 +21,6 @@
 import org.eclipse.papyrus.designer.languages.common.extensionpoints.MethodInfo;
 import org.eclipse.papyrus.designer.languages.common.extensionpoints.SyncInformation;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.C_CppPackage;
-import org.eclipse.uml2.uml.Classifier;
 import org.eclipse.uml2.uml.Element;
 import org.eclipse.uml2.uml.NamedElement;
 import org.eclipse.uml2.uml.Package;
@@ -40,12 +39,12 @@
 
 	@Override
 	public String getDescription() {
-		return "A C code generator. Requires the common C/C++ profile";
+		return "A C code generator. Requires the common C/C++ profile"; //$NON-NLS-1$
 	}
 
 	@Override
 	public boolean isEligible(Element modelElement) {
-		if (modelElement instanceof Classifier) {
+		if (modelElement instanceof PackageableElement) {
 			Package nearestPackage = modelElement.getNearestPackage();
 			if (nearestPackage != null) {
 				// check whether the C++ profile is applied
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend
index 4f6e759..54255ea 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend
@@ -5,7 +5,7 @@
 import org.eclipse.uml2.uml.Package
 
 class doxyfileScript {
-	def public static doxyfileScript(Model model) '''
+	def static doxyfileScript(Model model) '''
 		// This template is called by the main module file 
 		#---------------------------------------------------------------------------
 		# Project related configuration options
@@ -233,8 +233,7 @@
 		SEARCHENGINE           = NO
 	'''
 
-
-	def public static genPackagePaths(Package pkg) '''
+	def static genPackagePaths(Package pkg) '''
 		«pkg.qualifiedName.replace(".", "/")»
 	'''
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend
index e33b290..e05890e 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend
@@ -44,10 +44,8 @@
 	'''
 
 	def static classHeaderBody(Class clazz) '''
-		
-		
-		
-			«IF (clazz.classifierBehavior != null && !clazz.ownedBehaviors.filter(StateMachine).isEmpty)»
+
+			«IF (clazz.classifierBehavior !== null && !clazz.ownedBehaviors.filter(StateMachine).isEmpty)»
 				// ----------------------------------Enum State declaration ----------------------------------
 					«clazz.partComment('Enum State declaration')»
 					«clazz.ownedBehaviors.filter(StateMachine).head.genStateEnumPrototype»
@@ -55,7 +53,7 @@
 					«clazz.partComment('State_t declaration')»
 					«clazz.ownedBehaviors.filter(StateMachine).head.genStatetStructure»
 			«ENDIF»
-			
+
 			«IF (clazz.visibility == VisibilityKind.PUBLIC_LITERAL)»
 				«clazz.partComment('Public Class Description')»
 				//  Structure 
@@ -76,11 +74,11 @@
 			
 			// ----------------------------------Public Global VariableDescription----------------------------------
 			
-			«IF (clazz.ownedAttributes.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL && type != null].size > 0)»
+			«IF (clazz.ownedAttributes.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL && type !== null].size > 0)»
 				«clazz.partComment('Global Public Variable Declarations')»
 			«ENDIF»
 			«FOR attribute : clazz.ownedAttributes»
-				«IF (attribute.isStatic && attribute.visibility == VisibilityKind.PUBLIC_LITERAL && attribute.type != null)»
+				«IF (attribute.isStatic && attribute.visibility == VisibilityKind.PUBLIC_LITERAL && attribute.type !== null)»
 					// global variable declaration
 					«attribute.genVariableDeclaration»
 				«ENDIF»
@@ -113,7 +111,7 @@
 		«ENDIF»
 		
 		
-		«IF (clazz.classifierBehavior != null && !clazz.ownedBehaviors.filter(StateMachine).isEmpty)»
+		«IF (clazz.classifierBehavior !== null && !clazz.ownedBehaviors.filter(StateMachine).isEmpty)»
 			«var sm = clazz.ownedBehaviors.filter(StateMachine).head»	
 			// ----------------------------------Entry Exit and DoActivity Prototypes for each state ----------------------------------
 			«IF !sm.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState)].isEmpty»
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend
index 14e08da..9031ea2 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend
@@ -15,13 +15,13 @@
 import org.eclipse.uml2.uml.NamedElement
 
 class commonHeaderScript {
-	def public static genHeadingHeader(NamedElement namedElement) '''
+	def static genHeadingHeader(NamedElement namedElement) '''
 		#ifndef «namedElement.genName.toString.toUpperCase»_H_
 		#define «namedElement.genName.toString.toUpperCase»_H_
 	'''
 
 
-	def public static genEndHeader(NamedElement namedElement) '''
+	def static genEndHeader(NamedElement namedElement) '''
 		#endif /*«namedElement.genName.toString.toUpperCase»_H_*/
 	'''
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend
index 08f8b1d..07a3d37 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend
@@ -22,11 +22,10 @@
 import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
 
 class dataTypeHeaderScript {
-	def public static dataTypefill(DataType dataType) '''
+	def static dataTypefill(DataType dataType) '''
 	'''
 
-
-	def public static dataTypeHeaderScript(DataType dataType) '''
+	def static dataTypeHeaderScript(DataType dataType) '''
 		// This template is called by the main module file 
 		«dataType.genHeading»
 		
@@ -41,8 +40,7 @@
 		«dataType.genEndHeader»
 	'''
 
-
-	def public static dataTypeHeaderBody(DataType dataType) '''
+	def static dataTypeHeaderBody(DataType dataType) '''
 		«dataType.partComment('Public Class Description')»
 		//  Structure 
 		«dataType.genDataTypeStructDeclarations()»
@@ -51,11 +49,11 @@
 		«dataType.genDefaultInitialisationProtoype()»
 
 		// ----------------------------------Public Global VariableDescription----------------------------------
-		«IF (dataType.ownedAttributes.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL && type != null].size> 0)»
+		«IF (dataType.ownedAttributes.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL && type !== null].size> 0)»
 			«dataType.partComment('Global Public Variable Declarations')»
 		«ENDIF»
 		«FOR attribute : dataType.ownedAttributes.filter[!isStatic]»
-			«IF (attribute.visibility == VisibilityKind.PUBLIC_LITERAL && attribute.type != null)»
+			«IF (attribute.visibility == VisibilityKind.PUBLIC_LITERAL && attribute.type !== null)»
 				// global variable declaration
 				«attribute.genVariableDeclaration()»
 			«ENDIF»
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/TransformationUtil.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/TransformationUtil.xtend
index f443cd3..6dfdc51 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/TransformationUtil.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/TransformationUtil.xtend
@@ -26,7 +26,6 @@
 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
@@ -39,7 +38,7 @@
 		
 		pack.ownedElements.filter(typeof(Class)).forEach[
 			var behavior = it.ownedBehaviors.filter(typeof(StateMachine)).head
-			if (behavior != null) {
+			if (behavior !== null) {
 				map.put(it, behavior)
 			}
 		]
@@ -47,7 +46,7 @@
 		return map
 	}
 	
-	public static def Pseudostate firstPseudoState(Region region, PseudostateKind kind) {
+	static def Pseudostate firstPseudoState(Region region, PseudostateKind kind) {
 		for (Vertex vertex : region.getSubvertices()) {
 			if (vertex instanceof Pseudostate) {
 				var pseudoState = vertex as Pseudostate
@@ -59,20 +58,20 @@
 		return null;
 	}
 	
-	public static def List<State> findCompositeStatesInRegion(Vertex des1, Vertex des2) {
+	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) {
+		while(owner1 !== null) {
 			path1.add(owner1)
 			owner1 = owner1.container.state
 		}
 
 		var owner2 = des2
-		while(owner2 != null && ret.empty) {
+		while(owner2 !== null && ret.empty) {
 			for(s:path1) {
 				if (s.container == owner2.container && owner2 instanceof State) {
 					ret.add(s)
@@ -87,7 +86,7 @@
 	
 	def static State findInitialState(Region r) {
 		var pseudoDefault = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
-		if (pseudoDefault != null) {
+		if (pseudoDefault !== null) {
 			return pseudoDefault.outgoings.head.target as State
 		}
 		return null
@@ -95,9 +94,9 @@
 	
 	def static String getInitialEffect(Region r) {
 		var pseudoDefault = TransformationUtil.firstPseudoState(r, PseudostateKind.INITIAL_LITERAL)
-		if (pseudoDefault != null) {
+		if (pseudoDefault !== null) {
 			var t = pseudoDefault.outgoings.head
-			if (t.effect != null && t.effect instanceof OpaqueBehavior) {
+			if (t.effect !== null && t.effect instanceof OpaqueBehavior) {
 				return (t.effect as OpaqueBehavior).bodies.head
 			}
 		}
@@ -130,7 +129,7 @@
 	/**
 	 * Return the name of an event (remove non-ASCII characters)
 	 */
-	public def static eventName(Event event) {
+	def static eventName(Event event) {
 		var name = ""
 		var repeat = false
 		for (c : event.name.toCharArray) {
@@ -149,7 +148,7 @@
 	/**
 	 * Return the ID of an event
 	 */
-	public def static eventID(Event event) {
+	def static eventID(Event event) {
 		event.eventName.toUpperCase + "_ID"
 	}
 	
@@ -162,7 +161,7 @@
 	}
 	
 	def static isBehaviorExist(Behavior b) {  
-		if (b != null && b instanceof OpaqueBehavior) {
+		if (b !== null && b instanceof OpaqueBehavior) {
 			return !GenUtils.getBodyFromOB(b as OpaqueBehavior, functionScript.CLANGUAGE).empty
 		}
 		return false
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/behaviorScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/behaviorScript.xtend
index 2a69150..c0c32c3 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/behaviorScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/behaviorScript.xtend
@@ -23,7 +23,7 @@
 
 class behaviorScript {
 	static def returnSpec(Behavior behavior) '''
-		«IF (GenUtils.returnResult(behavior) == null)»void «ELSE»«Modifier.modCVQualifier(GenUtils.returnResult(behavior))» «CGenUtils.cppQualifiedName(GenUtils.returnResult(behavior).type)»«Modifier.modPtr(GenUtils.returnResult(behavior))»«Modifier.modRef(GenUtils.returnResult(behavior))» «ENDIF»
+		«IF (GenUtils.returnResult(behavior) === null)»void «ELSE»«Modifier.modCVQualifier(GenUtils.returnResult(behavior))» «CGenUtils.cppQualifiedName(GenUtils.returnResult(behavior).type)»«Modifier.modPtr(GenUtils.returnResult(behavior))»«Modifier.modRef(GenUtils.returnResult(behavior))» «ENDIF»
 	'''
 
 	static def behaviorImplementation(String name,OpaqueBehavior behavior) '''
@@ -59,6 +59,6 @@
 	}
 
 	static def defaultValue(Parameter parameter) {
-		if (parameter.defaultValue != null)  " = " + parameter.defaultValue.stringValue() else ""
+		if (parameter.defaultValue !== null)  " = " + parameter.defaultValue.stringValue() else ""
 	}
 }
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend
index 13b9397..7230f89 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend
@@ -26,14 +26,14 @@
 import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
 
 class classScript {
-	def public static genDynamicInstanciationOperationPrototypes(Class clazz) '''
+	def static genDynamicInstanciationOperationPrototypes(Class clazz) '''
 		«clazz.partComment('Default constructor & destructor prototypes')»
 		«clazz.genConstructorPrototype»
 		«clazz.genDestructorPrototype»
 	'''
 
 	// generate a constructor prototype, if there is none 
-	def public static genConstructorPrototype(Class clazz) '''
+	def static genConstructorPrototype(Class clazz) '''
 		«IF (clazz.ownedOperations.filter[hasStereotype(Create)].size == 0)»
 			/**
 			 * Dynamic instantiation of a «clazz.genName()» structure
@@ -45,7 +45,7 @@
 	'''
 
 	// generate a destructor prototype, if there is none 
-	def public static genDestructorPrototype(Class clazz) '''
+	def static genDestructorPrototype(Class clazz) '''
 		«IF (clazz.ownedOperations.filter[hasStereotype(Destroy)].size == 0)»
 			/**
 			 * Dynamic destruction of a «clazz.genName()» structure instantiation
@@ -56,14 +56,14 @@
 		«ENDIF»
 	'''
 
-	def public static genDynamicInstanciationOperations(Class clazz) '''
+	def static genDynamicInstanciationOperations(Class clazz) '''
 		«clazz.partComment('Default constructor & destructor implementations')»
 		«clazz.genConstructor»
 		«clazz.genDestructor»
 	'''
 
 	// generate a constructor, if there is none
-	def public static genConstructor(Class clazz) '''
+	def static genConstructor(Class clazz) '''
 		«IF (clazz.ownedOperations.filter[hasStereotype(Create)].size == 0)»
 			«clazz.genName()»* «clazz.genName()»_create() {
 				«clazz.genName()»* self = («clazz.genName()»*) malloc(sizeof(«clazz.genName()»));
@@ -76,7 +76,7 @@
 	'''
 
 	// generate a destructor implementation, if there is none
-	def public static genDestructor(Class clazz) '''
+	def static genDestructor(Class clazz) '''
 		«IF (clazz.ownedOperations.filter[hasStereotype(Destroy)].size == 0)»
 			// default destructor
 			void «clazz.genName()»_destroy(«clazz.genName()»* self) {
@@ -86,7 +86,7 @@
 		«ENDIF»
 	'''
 
-	def public static genDefaultInitialisationProtoype(Class clazz) '''
+	def static genDefaultInitialisationProtoype(Class clazz) '''
 		«IF (!clazz.ownedBehaviors.filter(StateMachine).isEmpty || clazz.getAllAttributes.filter[defaultValue !== null].size > 0)»
 			«clazz.partComment('Default value initialization prototypes')»
 			/**
@@ -99,7 +99,7 @@
 		«ENDIF»
 	'''
 
-	def public static genDefaultIntialisationOperation(Class clazz) '''
+	def static genDefaultIntialisationOperation(Class clazz) '''
 		«IF (!clazz.ownedBehaviors.filter(StateMachine).isEmpty || clazz.getAllAttributes.filter[defaultValue !== null].size > 0)»
 		
 		void «clazz.genName()»_init(«clazz.genName()»* self) {
@@ -151,14 +151,14 @@
 		«ENDIF»
 	'''
 
-	def public static defaultIntialisationCall(Class clazz) '''
+	def static defaultIntialisationCall(Class clazz) '''
 		«IF (clazz.getAllAttributes.filter[defaultValue !== null].size > 0)»
 			/* Default value initialization */
 			«clazz.genName()»_init(&«clazz.genName()»);
 		«ENDIF»
 	'''
 
-	def public static genClassStructDeclarations(Class clazz) '''
+	def static genClassStructDeclarations(Class clazz) '''
 		/* Class Macro definition */
 		#define «clazz.genName()»(OBJ) ((«clazz.genName()»*)OBJ)
 		
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend
index b09ed81..7318506 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2015 CEA LIST.
+ * Copyright (c) 2020 CEA LIST.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,7 +27,7 @@
 import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
 
 class commonScript {
-	def public static genHeading(NamedElement namedElement) '''
+	def static genHeading(NamedElement namedElement) '''
 		/* 
 		 * File generated from the «namedElement.qualifiedName» uml class
 		 * Generated by the Papyrus C Generator (CEA LIST) 
@@ -36,14 +36,14 @@
 	'''
 	//* $ Date : «namedElement.getShortDate» «namedElement.getTime()» («namedElement.getLongDate()») $
 
-	def public static packagePath(NamedElement element) '''
+	def static packagePath(NamedElement element) '''
 		«element.qualifiedName.replace('.', File.separator)»
 	'''
 
 
-	def public static genComment(Element element) {
+	def static genComment(Element element) {
 		var commentText = ""; //$NON-NLS-1$
-		for (Comment comment : element.getOwnedComments()) {
+		for (Comment comment : element.ownedComments) {
 			// remove eventual CRs (avoid confusion in Acceleo template which adds " *" after line breaks)
 			commentText += GenUtils.cleanCR(comment.getBody());
 		}
@@ -56,27 +56,27 @@
 	}
 
 
-	def public static genAbstract(Class clazz) '''
+	def static genAbstract(Class clazz) '''
 		«IF (clazz.isAbstract)»abstract «ENDIF»
 	'''
 
 
-	def public static genAbstract(Operation operation) '''
+	def static genAbstract(Operation operation) '''
 		«IF (operation.isAbstract)»abstract «ENDIF»
 	'''
 
 
-	def public static genFinal(RedefinableElement redefinableElement) '''
+	def static genFinal(RedefinableElement redefinableElement) '''
 		«IF (redefinableElement.isLeaf)»final «ENDIF»
 	'''
 
 
-	def public static genStatic(Feature feature) '''
+	def static genStatic(Feature feature) '''
 		«IF (feature.isStatic)»static «ENDIF»
 	'''
 
 
-	def public static HeaderPackageImportTemplate(PackageImport packageImport) '''
+	def static HeaderPackageImportTemplate(PackageImport packageImport) '''
 		«IF (packageImport.importedPackage.hasStereotype(ModelLibrary))»
 			#include <«packageImport.importedPackage.name».h> 
 		«ELSE»
@@ -85,16 +85,16 @@
 	'''
 
 
-	def public static genName(NamedElement namedElement) '''
+	def static genName(NamedElement namedElement) '''
 		«namedElement.genVisibility»«namedElement.genCoreName()»'''
 
 
-	def public static genCoreName(NamedElement namedElement) {
+	def static genCoreName(NamedElement namedElement) {
 		'''«namedElement.name.replaceAll("/|\\.|~", "_")»'''
 	}
 
 
-	def public static genVisibility(NamedElement namedElement) {
+	def static genVisibility(NamedElement namedElement) {
 		'''«IF (namedElement.visibility == VisibilityKind.PRIVATE_LITERAL)»
 			/* private */
 		«ELSEIF (namedElement.visibility == VisibilityKind.PROTECTED_LITERAL)»
@@ -103,7 +103,7 @@
 	}
 
 
-	def public static genIncludeSelf(NamedElement namedElement) '''
+	def static genIncludeSelf(NamedElement namedElement) '''
 		/* include header file*/
 		#include "«namedElement.genName».h"
 	'''
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend
index cdcee11..7dda053 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend
@@ -26,8 +26,8 @@
 import org.eclipse.uml2.uml.FinalState
 
 class dataTypeScript {
-	def public static genDefaultInitialisationProtoype(DataType dataType) '''
-		«IF (dataType.ownedAttributes.filter[defaultValue != null].size > 0)»
+	def static genDefaultInitialisationProtoype(DataType dataType) '''
+		«IF (dataType.ownedAttributes.filter[defaultValue !== null].size > 0)»
 			«dataType.partComment('Default value initialization prototypes')»
 			/*
 			 * Default value initialization
@@ -40,12 +40,12 @@
 	'''
 
 
-	def public static genDefaultIntialisationOperation(DataType dataType) '''
-		«IF (dataType.ownedAttributes.filter[defaultValue != null].size > 0)»
+	def static genDefaultIntialisationOperation(DataType dataType) '''
+		«IF (dataType.ownedAttributes.filter[defaultValue !== null].size > 0)»
 			«dataType.partComment('Default value initialization Implementation')»
 			void «dataType.genName()»_init(«dataType.genName()»* self){
 			«FOR attribute : dataType.ownedAttributes»
-				«IF (attribute.defaultValue != null && !attribute.isStatic && attribute.type != null)»
+				«IF (attribute.defaultValue !== null && !attribute.isStatic && attribute.type !== null)»
 					«attribute.genInitDefaultValue()»
 				«ENDIF»
 			«ENDFOR»
@@ -54,7 +54,7 @@
 	'''
 
 
-	def public static genDataTypeStructDeclarations(DataType dataType) '''
+	def static genDataTypeStructDeclarations(DataType dataType) '''
 		«FOR comment : dataType.ownedComments»
 			 «comment.genComment()»
 		«ENDFOR»
@@ -68,7 +68,7 @@
 	'''
 
 
-	def public static genDataTypeStructDeclarations(Enumeration enumeration) '''
+	def static genDataTypeStructDeclarations(Enumeration enumeration) '''
 		«FOR comment : enumeration.ownedComments»
 			 «comment.genComment()»
 		«ENDFOR»
@@ -80,20 +80,19 @@
 			«ENDFOR»
 		};
 	'''
-def public static genStateEnumPrototype(StateMachine sm) '''
-
-typedef enum StateIDEnum StateIDEnum;
+	
+	def static genStateEnumPrototype(StateMachine sm) '''
+		typedef enum StateIDEnum StateIDEnum;
 		
 		enum StateIDEnum {
 			«FOR state : sm.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState)]»
 				«state.genName()»,
 			«ENDFOR»
 		};
-'''
+	'''
 
-def public static genStatetStructure(StateMachine sm) '''
-
-typedef struct State_t State_t;
+	def static genStatetStructure(StateMachine sm) '''
+		typedef struct State_t State_t;
 		
 		struct State_t {
 			void (*entry)();
@@ -101,8 +100,9 @@
 			void (*doActivity)();
 			
 		};
-'''
-	def public static genDataTypeStructDeclarations(PrimitiveType primitiveType) '''
+	'''
+
+	def static genDataTypeStructDeclarations(PrimitiveType primitiveType) '''
 		«FOR comment : primitiveType.ownedComments»
 			 «comment.genComment()»
 		«ENDFOR»
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend
index 102204d..99f8a8d 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend
@@ -37,7 +37,6 @@
 import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
 import static extension org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication
 import org.eclipse.papyrus.designer.languages.c.codegen.utils.CClassUtils
-import org.eclipse.papyrus.designer.languages.common.base.GenUtils
 
 class functionScript {
 	final public static Pattern CLANGUAGE = Pattern.compile("C|C\\/C\\+\\+|c")
@@ -83,7 +82,7 @@
 			val clazz = reception.owner as Class
 			var SignalEvent signalEvent = null
 			var i = 0;
-			var triggers = (reception.owner as Class).classifierBehavior.allOwnedElements.filter(Trigger)
+			var triggers = clazz.classifierBehavior.allOwnedElements.filter(Trigger)
 
 			while (signalEvent === null && i < triggers.size) {
 				val trigger = triggers.get(i)
@@ -371,7 +370,7 @@
 	}
 
 	def static genReturnArgumentType(Operation operation, boolean isHeader) '''
-		«IF (operation.getReturnResult != null)»
+		«IF (operation.getReturnResult !== null)»
 			«val declaredClassifiers = CClassUtils.declaredClassifiers(operation.class_)»
 			«operation.getReturnResult.genStruct(isHeader, declaredClassifiers)»«operation.getReturnResult.genType»«operation.getReturnResult.genPointer»
 		«ELSE»
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend
index 1ca58ab..06b4300 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend
@@ -20,7 +20,7 @@
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ExternLibrary
 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.common.profile.Codegen.NoCodeGen
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Template
 import org.eclipse.uml2.uml.Classifier
 import org.eclipse.uml2.uml.Enumeration
@@ -33,7 +33,7 @@
 import org.eclipse.papyrus.designer.languages.c.codegen.utils.CClassUtils
 
 class importScript {
-	def public static genHeaderIncludes(Classifier classifier) '''
+	def static genHeaderIncludes(Classifier classifier) '''
 		«classifier.partComment('Includes and declares')»
 		««« Derived includes from required classifiers that are not pointers
 		// Derived includes
@@ -58,7 +58,7 @@
 		// End of Std headers
 	'''
 
-	def public static genBodyIncludes(Classifier classifier) '''
+	def static genBodyIncludes(Classifier classifier) '''
 		««« Includes from <<Include>> stereotype's preBody attribute
 		«CIncludePreBody(classifier)»
 		««« Include self header
@@ -75,7 +75,7 @@
 
 	// TODO: why do need stdlib in this case?
 	// TODO: why do we need this at all? 
-	def public static genStdInclude() '''
+	def static genStdInclude() '''
 		#include <stdio.h>
 		#include <stdlib.h>
 		#include <stdint.h>
@@ -122,11 +122,11 @@
 				//str = null
 			}
 		}
-		return newList.filter[str | str != null]
+		return newList.filter[str | str !== null]
 	}
 
  	static def cOwnerPackageIncludePath(Package pkg) {
-		if ((pkg != null) && (!GenUtils.hasStereotype(pkg, CppRoot))) {
+		if ((pkg !== null) && (!GenUtils.hasStereotype(pkg, CppRoot))) {
 			return GenUtils.getFullPath(pkg) + '/Pkg_' + pkg.name + '.h'
 		} else {
 			return null
@@ -176,7 +176,7 @@
 	}
 
 	static def declareDirective(String path) {
-		if ((path != null) && (path.length > 0)) {
+		if ((path !== null) && (path.length > 0)) {
 			return path
 		}	
 	}
@@ -188,8 +188,8 @@
 	static def cClassAllDeclares(Classifier classifier, EList<Classifier> declaredClassifiers, EList<Classifier> includedClassifiers) {
 		var List<String> newList = new ArrayList<String>()
 		
-		if (declaredClassifiers != null) {
-			if (includedClassifiers != null) {
+		if (declaredClassifiers !== null) {
+			if (includedClassifiers !== null) {
 				declaredClassifiers.removeAll(includedClassifiers)
 			}
 			
@@ -210,7 +210,7 @@
 			}
 		}
 		
-		return newList.filter[str | str != null]
+		return newList.filter[str | str !== null]
 	}
 	
 	static def CIncludeHeader(NamedElement ne) {
@@ -236,7 +236,7 @@
 	static def CIncludePreBody(NamedElement ne) {
 		if (GenUtils.hasStereotype(ne, Include)) {
 			var String preBody = UMLUtil.getStereotypeApplication(ne, Include).preBody
-			if ((preBody != null) && (preBody.length > 0)) {
+			if ((preBody !== null) && (preBody.length > 0)) {
 				var includePreBody = constIncludePreBodyStart + GenUtils.cleanCR(preBody) + '\n' +
 					constIncludePreBodyEnd
 				return includePreBody
@@ -255,7 +255,7 @@
 	static def CIncludeBody(NamedElement ne) {
 		if (GenUtils.hasStereotype(ne, Include)) {
 			var String body = UMLUtil.getStereotypeApplication(ne, Include).body
-			if ((body != null) && (body.length > 0)) {
+			if ((body !== null) && (body.length > 0)) {
 				var includeBody = constIncludeBodyStart + GenUtils.cleanCR(body) + '\n' +
 					constIncludeBodyEnd
 				return includeBody
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend
index ff3f4f9..0eeb65a 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend
@@ -11,7 +11,7 @@
 
 package org.eclipse.papyrus.designer.languages.c.codegen.lib
 
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen
+import org.eclipse.papyrus.designer.languages.common.profile.Codegen.NoCodeGen
 import org.eclipse.uml2.common.util.UML2Util
 import org.eclipse.uml2.uml.Classifier
 import org.eclipse.uml2.uml.Element
@@ -20,7 +20,7 @@
 import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.hasStereotypeTree
 
 class interfaceScript {
-	def public static getInterfaceRealizationClass(Classifier classifier) {
+	def static getInterfaceRealizationClass(Classifier classifier) {
 		UML2Util.getInverseReferences(classifier).filter[it instanceof InterfaceRealization && !(it as Element).hasStereotypeTree(NoCodeGen)].map[(it as InterfaceRealization).clients]
 	}
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend
index 174ca81..ce56a57 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend
@@ -14,7 +14,7 @@
 import org.eclipse.uml2.uml.MultiplicityElement
 
 class multiplicityScript {
-	def public static genMultiplicity(MultiplicityElement multiplicityElement) '''
+	def static genMultiplicity(MultiplicityElement multiplicityElement) '''
 		«IF (multiplicityElement.upper == -1)»
 			[]
 		«ELSEIF (multiplicityElement.upper > 1)» 
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/stateMachineScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/stateMachineScript.xtend
index b44e4b9..24dc86d 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/stateMachineScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/stateMachineScript.xtend
@@ -2,27 +2,24 @@
 
 import java.util.ArrayList
 import java.util.List
+import java.util.regex.Pattern
 import org.eclipse.papyrus.designer.languages.c.codegen.preferences.CCodeGenConstants
 import org.eclipse.papyrus.designer.languages.common.base.GenUtils
-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.OpaqueExpression
 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.Vertex
-import org.eclipse.uml2.uml.FinalState
-import java.util.regex.Pattern
 
 class stateMachineScript {
 
 	static List<Transition> transitions = new ArrayList
 	public static Region region
 	public List<State> states = new ArrayList
-	List<Vertex> vertexes = new ArrayList
 	public static String ACTIVE_ROOT_STATE_ID = "activeStateID"
 
 	def static genProcessCompletionEventMethodBody(Class clazz) {
@@ -40,22 +37,22 @@
 		val setTransitions= NonTriggeredTrans.toSet;
 		var body = '''
 			
-			«IF NonTriggeredTrans.size > 0»		
+			«IF NonTriggeredTrans.size > 0»
 				switch(self->«ACTIVE_ROOT_STATE_ID») {
-									«FOR state:sources»
-										case «state.name»: 
-											«FOR t:setTransitions»	
-												«IF t.source==state»
-													«generateTransitionCode(t.source as State, t)»
-												«ENDIF»
-											«ENDFOR»
-											{}
-										
-										break;
-									«ENDFOR»
-									default:
-									//do nothing
-									break;
+					«FOR state:sources»
+						case «state.name»: 
+							«FOR t:setTransitions»	
+								«IF t.source==state»
+									«generateTransitionCode(t.source as State, t)»
+								«ENDIF»
+							«ENDFOR»
+							{}
+
+							break;
+					«ENDFOR»
+					default:
+						// do nothing
+						break;
 				}
 			«ENDIF»
 			
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend
index 3152c5f..40cee7f 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend
@@ -14,16 +14,16 @@
 import org.eclipse.uml2.uml.Type
 
 class typeScript {
-	def public static genIntegerType(Type type) {
+	def static genIntegerType(Type type) {
 		'''int'''
 	}
 
-	def public static genStringType(Type type) {
+	def static genStringType(Type type) {
 		'''char*'''
 	}
 
 
-	def public static genBooleanType(Type type) {
+	def static genBooleanType(Type type) {
 		'''/*bool*/ char'''
 	}
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend
index d707635..411d0d0 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend
@@ -17,12 +17,11 @@
 import org.eclipse.uml2.uml.Expression
 
 class valueSpecificationScript {
-	def public static ValueSpecificationTemplate(ValueSpecification valueSpecification) '''
+	def static ValueSpecificationTemplate(ValueSpecification valueSpecification) '''
 		«valueSpecification.stringValue()»
 	'''
 
-
-	def public static ValueSpecificationTemplate(InstanceValue instanceValue) '''
+	def static ValueSpecificationTemplate(InstanceValue instanceValue) '''
 		«IF (instanceValue.instance instanceof EnumerationLiteral)»
 			«FOR slot : instanceValue.instance.slots»
 				«FOR value : slot.values» «value.ValueSpecificationTemplate»
@@ -37,8 +36,7 @@
 		«ENDIF»
 	'''
 
-
-	def public static ValueSpecificationTemplate(Expression expression) '''
+	def static ValueSpecificationTemplate(Expression expression) '''
 		
 	'''
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend
index ba305a4..b55ce92 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend
@@ -33,25 +33,28 @@
 import org.eclipse.papyrus.designer.languages.c.codegen.utils.CClassUtils
 
 class variableScript {
-	def public static genVariableDeclaration(Property property) '''
+	def static genVariableDeclaration(Property property) '''
 		«FOR comment : property.ownedComments»
 			«comment.genComment»
 		«ENDFOR»
 		«val declaredClassifiers = CClassUtils.declaredClassifiers(property.class_)»
-		«property.genDeclarator»«property.genStruct(true, declaredClassifiers)»«property.genType»«property.genPointer» «property.genName»«property.genMultiplicity»«IF (property.defaultValue != null && property.isStatic)» «property.genDefaultValue()» «ENDIF»;
+		«property.genDeclarator»«property.genStruct(true, declaredClassifiers)»«
+			property.genType»«property.genPointer» «property.genName»«property.genMultiplicity»«
+			IF (property.defaultValue !== null && property.isStatic)» «property.genDefaultValue()» «ENDIF»;
 	'''
-def public static genStateVariableDeclaration(Class clazz) '''
+
+	def static genStateVariableDeclaration(Class clazz) '''
 
 		enum StateIDEnum activeStateID;
 	'''
 
-def public static genStateArrayDeclaration(StateMachine sm) '''
+	def static genStateArrayDeclaration(StateMachine sm) '''
 
 		State_t states[«sm.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState)].size»];
 	'''
 
-	def public static genDefaultValue(Property property) '''
-		«IF (property.defaultValue != null)»
+	def static genDefaultValue(Property property) '''
+		«IF (property.defaultValue !== null)»
 		  = «IF (property.upper != 1)»{ «property.defaultValue.ValueSpecificationTemplate()» }
 			«ELSE»«property.defaultValue.ValueSpecificationTemplate()»
 			«ENDIF»
@@ -59,8 +62,8 @@
 	'''
 
 
-	def public static genType(TypedElement typedElement) { '''
-		«IF (typedElement.type == null)»
+	def static genType(TypedElement typedElement) { '''
+		«IF (typedElement.type === null)»
 			void *
 		«ELSE»
 			«typedElement.type.genCTypeName»
@@ -69,8 +72,8 @@
 	}
 
 
-	def public static genCTypeName(Type type) '''
-		«IF (type == null || type.name == null)»
+	def static genCTypeName(Type type) '''
+		«IF (type === null || type.name === null)»
 			undefined
 		«ELSEIF (type.name.toLowerCase == 'boolean') || (type.name.toLowerCase == 'bool')»
 			«type.genBooleanType»
@@ -83,12 +86,12 @@
 		«ENDIF»'''
 
 
-	def public static genDeclarator(TypedElement typedElement) '''
+	def static genDeclarator(TypedElement typedElement) '''
 		«typedElement.genStorageClass()» «typedElement.genConstant»
 	'''
 
 
-	def public static genStorageClass(TypedElement typedElement) '''
+	def static genStorageClass(TypedElement typedElement) '''
 		«IF (typedElement.hasStereotype(StorageClass))»
 			«typedElement.getStereotypeApplication(StorageClass).storageClass.toString»
 		«ENDIF»
@@ -96,19 +99,19 @@
 	'''
 
 
-	def public static genConstant(TypedElement typedElement) '''
+	def static genConstant(TypedElement typedElement) '''
 		«IF (typedElement.hasStereotype(Const))»const «ENDIF»
 	'''
 
-	def public static genPointer(TypedElement typedElement) '''
+	def static genPointer(TypedElement typedElement) '''
 		«IF (typedElement.hasStereotype(Ptr))»* «ENDIF»
 	'''
 	
-	def public static genStruct(TypedElement typedElement, boolean isHeader, List<Classifier> declaredClassifiers) '''
+	def static genStruct(TypedElement typedElement, boolean isHeader, List<Classifier> declaredClassifiers) '''
 		«IF (isHeader && typedElement.type !== null && declaredClassifiers.contains(typedElement.type))»struct «ENDIF»
 	'''
 
-	def public static genInitDefaultValue(Property property) '''
+	def static genInitDefaultValue(Property property) '''
 		«IF (property.upper == 1)»
 			self->«property.genName» «property.genDefaultValue»;
 		«ELSE»
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend
index cab5ec1..ca2be32 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend
@@ -101,7 +101,7 @@
 
 		// ----------------------------------Receptions Implementation----------------------------------
 		«FOR reception : clazz.ownedReceptions»
-			«IF reception.signal != null»«reception.genFunctionImplementation()»«ENDIF»
+			«IF reception.signal !== null»«reception.genFunctionImplementation()»«ENDIF»
 		«ENDFOR»
 		
 		// ----------------------------------Signal Event Process Functions Implementations--------------------------------
@@ -120,7 +120,7 @@
 			«ENDFOR»
 		«ENDIF»
 		
-		«IF (clazz.classifierBehavior != null && !clazz.ownedBehaviors.filter(StateMachine).isEmpty)»
+		«IF (clazz.classifierBehavior !== null && !clazz.ownedBehaviors.filter(StateMachine).isEmpty)»
 			«var sm = clazz.ownedBehaviors.filter(StateMachine).head»
 			// ----------------------------------Entry Exit and DoActivity Implementations for each state ----------------------------------
 			«IF !sm.regions.head.subvertices.filter(State).filter[!(it instanceof FinalState)].isEmpty»
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend
index 898cbd8..a40feb6 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend
@@ -15,13 +15,13 @@
 import org.eclipse.uml2.uml.NamedElement
 
 class commonModuleScript {
-	def public static genHeadingModule(NamedElement namedElement) '''
+	def static genHeadingModule(NamedElement namedElement) '''
 		#ifndef «(namedElement.genName() as String).toUpperCase()»_C_
 		#define «(namedElement.genName() as String).toUpperCase()»_C_
 	'''
 
 
-	def public static genEndModule(NamedElement namedElement) '''
+	def static genEndModule(NamedElement namedElement) '''
 		#endif /*«(namedElement.genName() as String).toUpperCase()»_C_*/
 	'''
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.java
index 145be2c..26d0fa9 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.java
@@ -11,8 +11,11 @@
 
 package org.eclipse.papyrus.designer.languages.c.codegen.services;
 
+import org.eclipse.papyrus.designer.languages.common.base.StringConstants;
 import org.eclipse.uml2.uml.LiteralString;
 import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
 import org.eclipse.uml2.uml.Slot;
 import org.eclipse.uml2.uml.TypedElement;
 
@@ -24,6 +27,7 @@
 	 * get the relative path between two elements in a model format : ./P1/P2 or
 	 * ../../P1/
 	 */
+	@SuppressWarnings("nls")
 	public String getRelativePath(NamedElement src, NamedElement dest)
 		throws ArrayIndexOutOfBoundsException {
 		try {
@@ -32,7 +36,7 @@
 				NAME_SEP);
 			String tmp_src = src.getQualifiedName();
 			String tmp_dest = dest.getQualifiedName();
-			String relativePath = "";
+			String relativePath = StringConstants.EMPTY;
 
 			//System.out.println("---");
 			//System.out.println("src : "+src.getQualifiedName());
@@ -42,9 +46,9 @@
 				if(qualifiedNameSrcParts[i]
 					.equalsIgnoreCase(qualifiedNameDestParts[i])) {
 					tmp_src = tmp_src.replaceFirst(qualifiedNameDestParts[i]
-						+ NAME_SEP, "");
+						+ NAME_SEP, StringConstants.EMPTY);
 					tmp_dest = tmp_dest.replaceFirst(qualifiedNameDestParts[i]
-						+ NAME_SEP, "");
+						+ NAME_SEP, StringConstants.EMPTY);
 				}
 			}
 			qualifiedNameSrcParts = tmp_src.split(NAME_SEP);
@@ -63,12 +67,12 @@
 			//System.out.println("Lenght dest	parts"+qualifiedNameDestParts.length);
 			for(int i = 0; i < (qualifiedNameDestParts.length - 1); i++) {
 				//System.out.println("qualifiedNameDestParts[i]"+qualifiedNameDestParts[i]);
-				relativePath = relativePath + qualifiedNameDestParts[i] + "/";
+				relativePath = relativePath + qualifiedNameDestParts[i] + StringConstants.SLASH;
 			}
 			//System.out.println("relativePath :"+relativePath);
 			return relativePath;
 		} catch (ArrayIndexOutOfBoundsException e) {
-			return "";
+			return StringConstants.EMPTY;
 		}
 	}
 
@@ -76,24 +80,23 @@
 	 * return a string with quote if the property, the parameter or the slot
 	 * defining feature are typed as Strings
 	 */
+	@SuppressWarnings("nls")
 	public String LiteralStringValue(LiteralString lst)
 	{
-		if(lst.getOwner().eClass().getName().equalsIgnoreCase("Property")
-			|| lst.getOwner().eClass().getName().equalsIgnoreCase(
-				"Parameter")) {
+		if(lst.getOwner() instanceof Property || lst.getOwner() instanceof Parameter) {
 			TypedElement tmp = (TypedElement)lst.getOwner();
 			if(tmp.getType() == null) {
 				return "\" \"";
 			}
 			if(tmp.getType().getName().equalsIgnoreCase("char")) {
-				if(lst.getValue().toString().equalsIgnoreCase("")) {
+				if(lst.getValue().toString().equalsIgnoreCase(StringConstants.EMPTY)) {
 					return "' '";
 				} else {
 					return withSimpleQuote(lst.getValue().toString());
 				}
 			}
 			if(tmp.getType().getName().equalsIgnoreCase("String")) {
-				if(lst.getValue().toString().equalsIgnoreCase("")) {
+				if(lst.getValue().toString().equalsIgnoreCase(StringConstants.EMPTY)) {
 					return "\" \"";
 				} else {
 					return withDoubleQuote(lst.getValue().toString());
@@ -104,10 +107,10 @@
 			Slot tmp = (Slot)lst.getOwner();
 			if(tmp.getDefiningFeature() == null
 				|| tmp.getDefiningFeature().getType() == null) {
-				return " ";
+				return StringConstants.SPACE;
 			}
 			if(tmp.getDefiningFeature().getName().equalsIgnoreCase("char")) {
-				if(lst.getValue().toString().equalsIgnoreCase("")) {
+				if(lst.getValue().toString().equalsIgnoreCase(StringConstants.EMPTY)) {
 					return "' '";
 				} else {
 					return withSimpleQuote(lst.getValue().toString());
@@ -115,7 +118,7 @@
 			}
 			if(tmp.getDefiningFeature().getType().getName().equalsIgnoreCase(
 				"String")) {
-				if(lst.getValue().toString().equalsIgnoreCase("")) {
+				if(lst.getValue().toString().equalsIgnoreCase(StringConstants.EMPTY)) {
 					return "\" \"";
 				} else {
 					return withDoubleQuote(lst.getValue().toString());
@@ -128,11 +131,10 @@
 
 	/**
 	 * Transform a String with notation aa.bb.cc to aa/bb/cc<br/>
-	 * Usefull for
-	 * package translating.
+	 * Usefull for package translating.
 	 */
 	public String toPath(String packageName) {
-		return packageName.trim().replaceAll("\\.", "/");
+		return packageName.trim().replaceAll("\\.", StringConstants.SLASH); //$NON-NLS-1$
 	}
 
 	/**
@@ -144,10 +146,10 @@
 	 * default string value.
 	 */
 	public String withDoubleQuote(String value) {
-		if(value.endsWith("'") && value.startsWith("'")) {
+		if(value.endsWith(StringConstants.SINGLE_QUOTE) && value.startsWith(StringConstants.SINGLE_QUOTE)) {
 			value = value.substring(1, value.length() - 1);
 		}
-		if(value.endsWith("\"") && value.startsWith("\"")) {
+		if(value.endsWith(StringConstants.QUOTE) && value.startsWith(StringConstants.QUOTE)) {
 			value = value.substring(1, value.length() - 1);
 		}
 		// if null return null without "
@@ -155,7 +157,7 @@
 		// return value;
 		// }
 		// replace " with /"
-		return "\"" + value.trim().replaceAll("\"", "\\\\\\\"") + "\"";
+		return StringConstants.QUOTE + value.trim().replaceAll(StringConstants.QUOTE, "\\\\\\\"") + StringConstants.QUOTE; //$NON-NLS-1$
 	}
 
 	/**
@@ -168,17 +170,17 @@
 	 * string value.
 	 */
 	public String withSimpleQuote(String value) {
-		if(value.endsWith("'") && value.startsWith("'")) {
+		if(value.endsWith(StringConstants.SINGLE_QUOTE) && value.startsWith(StringConstants.SINGLE_QUOTE)) {
 			value = value.substring(1, value.length() - 1);
 		}
-		if(value.endsWith("\"") && value.startsWith("\"")) {
+		if(value.endsWith(StringConstants.QUOTE) && value.startsWith(StringConstants.QUOTE)) {
 			value = value.substring(1, value.length() - 1);
 		}
 		// if null return null without "
-		if(value.equalsIgnoreCase("null")) {
+		if(value.equalsIgnoreCase("null")) { //$NON-NLS-1$
 			return value;
 		}
 		// replace " with /"
-		return "'" + value.trim() + "'";
+		return StringConstants.SINGLE_QUOTE + value.trim() + StringConstants.SINGLE_QUOTE;
 	}
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.java
index b66a109..3ebb2e4 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.java
@@ -32,7 +32,7 @@
 	 */
 	public ArrayList<Association> getClassAssociation(EObject rootNode, Class aClass) {
 		ArrayList<Association> resultList = new ArrayList<Association>();
-		for (TreeIterator iterAssoc = rootNode.eAllContents(); iterAssoc.hasNext();) {
+		for (TreeIterator<EObject> iterAssoc = rootNode.eAllContents(); iterAssoc.hasNext();) {
 			Object obj = iterAssoc.next();
 			if (obj instanceof Association) {
 				// if obj is an association object
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.java
index 8456591..be1d643 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.java
@@ -19,6 +19,7 @@
 	 * <%body>-------------------- *\/ number of "-" symbol depends both of the
 	 * body length and the lengthComment local variable
 	 */
+	@SuppressWarnings("nls")
 	public static String partComment(Element elt, String body) {
 
 		int lengthComment = 50;
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.java
index dcfe575..5efdac5 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.designer.languages.c.codegen.Activator;
 import org.eclipse.uml2.uml.Classifier;
 import org.eclipse.uml2.uml.Model;
 import org.eclipse.uml2.uml.Namespace;
@@ -27,10 +28,8 @@
 	/**
 	 * Minimize an attribute list with type criteria.
 	 * 
-	 * @param the
-	 *        attributeList attribute.
+	 * @param attributeList the list of attributes.
 	 * @return ArrayList Minimized list.
-	 *         @
 	 */
 	public ArrayList<Property> getMinimizeAttributeOnType(EList<Property> attributeList)
 	{
@@ -56,9 +55,8 @@
 	 * Get minimized list of parameters with type criteria.
 	 * 
 	 * @param parameterList
-	 *        the list parameter.
-	 * @return Arraylist minized parameter list.
-	 *         @
+	 *        the parameter list.
+	 * @return Arraylist minimized parameter list.
 	 */
 	public ArrayList<Parameter> getMinimizeParameterOnType(EList<Parameter> parameterList)
 	{
@@ -86,7 +84,6 @@
 	 * @param anAttribute
 	 *        the attribute.
 	 * @return Package the package where is the attribute.
-	 *         @
 	 */
 	public Package getPackageAttribute(Property anAttribute)
 	{
@@ -109,7 +106,6 @@
 	 * @param aParameter
 	 *        a parameter.
 	 * @return Package The package of the parameter type.
-	 *         @
 	 */
 	public Package getPackageMethod(Parameter aParameter)
 	{
@@ -132,15 +128,14 @@
 	 * @param classifierList
 	 *        the classifier list.
 	 * @param aClassifier
-	 *        the reference classifer.
+	 *        the reference classifier.
 	 * @return ArrayList ret element is not in classifier package.
-	 *         @
 	 */
 	public ArrayList<Classifier> minimizeClassNoInPackage(EList<Classifier> classifierList,
 		Classifier aClassifier) {
 		Namespace namespaceClass = aClassifier.getNamespace();// getPackage();
 		if(classifierList == null) {
-			System.out.println("Classe liste null");
+			Activator.log.debug("Classifier list null"); //$NON-NLS-1$
 			return null;
 		}
 		ArrayList<Classifier> resultList = new ArrayList<Classifier>();
@@ -153,15 +148,4 @@
 		// System.out.println("Liste :" + resultList);
 		return resultList;
 	}
-
-	// public String getRelativePathInModel(Package source, Package destination)
-	// {
-	// Boolean found = false;
-	// int intermediatePackageNumber=0;
-	// Package var_package= (Package) source;
-	// while(!found || var_package!=destination){
-	// intermediatePackageNumber++;
-	// var_package=source.getPa
-	// }
-	// }
 }
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.java
index 76c39e5..5438e62 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.java
@@ -28,14 +28,14 @@
 import org.eclipse.papyrus.designer.languages.c.codegen.preferences.CCodeGenUtils;
 import org.eclipse.papyrus.designer.languages.common.base.GenUtils;
 import org.eclipse.papyrus.designer.languages.common.base.ModelElementsCreator;
+import org.eclipse.papyrus.designer.languages.common.base.file.FileSystemAccessFactory;
+import org.eclipse.papyrus.designer.languages.common.profile.Codegen.NoCodeGen;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.CppRoot;
 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.ManualGeneration;
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Template;
 import org.eclipse.papyrus.infra.tools.file.IPFileSystemAccess;
-import org.eclipse.papyrus.infra.tools.file.ProjectBasedFileAccess;
 import org.eclipse.text.edits.MalformedTreeException;
 import org.eclipse.text.edits.TextEdit;
 import org.eclipse.uml2.uml.Class;
@@ -59,7 +59,7 @@
  */
 public class CModelElementsCreator extends ModelElementsCreator {
 
-	private static final String C_LANG = "C_LANG"; //$NON-NLS-1$
+	private static final String C_LANG = "C"; //$NON-NLS-1$
 	protected String sourceFolder;
 
 	/**
@@ -69,7 +69,7 @@
 	 *            the project in which the generated code should be placed
 	 */
 	public CModelElementsCreator(IProject project) {
-		this(new ProjectBasedFileAccess(project), null);
+		this(FileSystemAccessFactory.create(project), null);
 	}
 
 	/**
@@ -81,14 +81,14 @@
 	 *            Custom prefix for each generated file
 	 */
 	public CModelElementsCreator(IProject project, String commentHeader) {
-		this(new ProjectBasedFileAccess(project), commentHeader);
+		this(FileSystemAccessFactory.create(project), commentHeader);
 	}
 
 	/**
 	 * Constructor. Pass caller defined file system access and commentHeader
 	 * 
-	 * @param project
-	 *            the project in which the generated code should be placed
+	 * @param fileSystemAccess
+	 *            the file-system access used to write generated code
 	 * @param commentHeader
 	 *            commentHeader. If null, take from preferences
 	 */
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CClassUtils.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CClassUtils.java
index 42371e4..9a23d63 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CClassUtils.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CClassUtils.java
@@ -18,10 +18,10 @@
 import org.eclipse.emf.common.util.UniqueEList;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.designer.languages.common.base.GenUtils;
+import org.eclipse.papyrus.designer.languages.common.profile.Codegen.NoCodeGen;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ExternLibrary;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.External;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Inline;
-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.Ref;
 import org.eclipse.uml2.uml.Classifier;
@@ -34,16 +34,16 @@
 import org.eclipse.uml2.uml.util.UMLUtil;
 
 /**
- * A set of utility functions related to C++ classes
- *
+ * A set of utility functions related to C classes
+ * TODO (unify with C++ ClassUtils?)
  */
 public class CClassUtils {
-	
+
 	/**
 	 * Calculate the list of classifiers that needs to be included in a header file
 	 *
 	 * @param currentClass
-	 * @return
+	 * @return a list of included classifiers
 	 */
 	public static EList<Classifier> includedClassifiers(Classifier currentClass) {
 		// Retrieve package used by current package (dependencies)
@@ -54,33 +54,33 @@
 		EList<Class<? extends EObject>> ptrRefStereotypes = new BasicEList<Class<? extends EObject>>();
 		ptrRefStereotypes.add(Ptr.class);
 		ptrRefStereotypes.add(Ref.class);
-		
+
 		EList<Class<? extends EObject>> noCodeGenInlineStereotypes = new BasicEList<Class<? extends EObject>>();
 		noCodeGenInlineStereotypes.add(NoCodeGen.class);
 		noCodeGenInlineStereotypes.add(Inline.class);
-		
+
 		EList<Class<? extends EObject>> inlineStereotypes = new BasicEList<Class<? extends EObject>>();
 		inlineStereotypes.add(Inline.class);
-		
+
 		EList<Class<? extends EObject>> noCodeGenStereotypes = new BasicEList<Class<? extends EObject>>();
 		noCodeGenStereotypes.add(NoCodeGen.class);
-		
+
 		// class attributes dependencies (non-ptr and non-ref)
 		usedClasses.addAll(GenUtils.getTypesViaAttributes(currentClass, ptrRefStereotypes, null, true, true));
 		addEnumerationsPrimitiveTypesExternalTypes(usedClasses, GenUtils.getTypesViaAttributes(currentClass));
-		
+
 		// class inline operation parameters dependencies (non-ptr and non-ref)
 		usedClasses.addAll(GenUtils.getTypesViaOperations(currentClass, noCodeGenStereotypes, inlineStereotypes, ptrRefStereotypes, null, true));
 		addEnumerationsPrimitiveTypesExternalTypes(usedClasses, GenUtils.getTypesViaOperations(currentClass));
-		
+
 		// inner classifier attribute dependencies (non-ptr and non-ref)
 		usedClasses.addAll(GenUtils.getInnerClassifierTypesViaAttributes(currentClass, ptrRefStereotypes, null, true, true));
 		addEnumerationsPrimitiveTypesExternalTypes(usedClasses, GenUtils.getInnerClassifierTypesViaAttributes(currentClass));
-		
+
 		// inner classifier operation parameters dependencies (non-ptr and non-ref)
 		usedClasses.addAll(GenUtils.getInnerClassifierTypesViaOperations(currentClass, noCodeGenStereotypes, inlineStereotypes, ptrRefStereotypes, null, true));
 		addEnumerationsPrimitiveTypesExternalTypes(usedClasses, GenUtils.getInnerClassifierTypesViaOperations(currentClass));
-		
+
 		// realized interface dependencies
 		if (currentClass instanceof org.eclipse.uml2.uml.Class) {
 			org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) currentClass;
@@ -95,12 +95,12 @@
 		usedClasses.removeAll(GenUtils.getTemplateParameteredElements(currentClass));
 		return usedClasses;
 	}
-	
+
 	/**
 	 * Calculate the list of classifiers that needs to be included in a body file
 	 *
 	 * @param currentClass
-	 * @return
+	 * @return a list of included implementastion classifiers
 	 */
 	public static EList<Classifier> includedImplementationClassifiers(Classifier currentClass) {
 		// Retrieve package used by current package (dependencies)
@@ -111,21 +111,21 @@
 		// Make sure to not include classifiers already included in header
 		usedClasses.addAll(declaredClassifiers(currentClass));
 		usedClasses.removeAll(includedClassifiers(currentClass));
-		
+
 		// dependency relationships
 		usedClasses.addAll(GenUtils.getTypesViaDependencies(currentClass));
-		
+
 		// template parameters are declared locally (if owned) and do not correspond to a file
 		// that can be included
 		usedClasses.removeAll(GenUtils.getTemplateParameteredElements(currentClass));
 		return usedClasses;
 	}
-	
+
 	/**
 	 * Calculate the list of classifiers that needs to be declared in a header file
 	 *
 	 * @param currentClass
-	 * @return
+	 * @return the list of classifiers that need to be declared
 	 */
 	public static EList<Classifier> declaredClassifiers(Classifier currentClass) {
 		EList<Classifier> usedClasses = new UniqueEList<Classifier>();
@@ -134,13 +134,13 @@
 		EList<Class<? extends EObject>> ptrRefStereotypes = new BasicEList<Class<? extends EObject>>();
 		ptrRefStereotypes.add(Ptr.class);
 		ptrRefStereotypes.add(Ref.class);
-		
+
 		EList<Class<? extends EObject>> inlineStereotypes = new BasicEList<Class<? extends EObject>>();
 		inlineStereotypes.add(Inline.class);
-		
+
 		EList<Class<? extends EObject>> noCodeGenStereotypes = new BasicEList<Class<? extends EObject>>();
 		noCodeGenStereotypes.add(NoCodeGen.class);
-		
+
 		// class attributes dependencies (only ptr and ref and shared aggregation)
 		usedClasses.addAll(GenUtils.getTypesViaAttributes(currentClass, null, ptrRefStereotypes, false, false));
 		usedClasses.addAll(GenUtils.getTypesViaSharedAggregationAttributes(currentClass));
@@ -149,7 +149,7 @@
 		usedClasses.removeAll(GenUtils.getTypesViaOperations(currentClass, noCodeGenStereotypes, inlineStereotypes, ptrRefStereotypes, null, true)); // Remove inline operation parameter types that have been included previously
 		// no-specification opaque behavior dependencies
 		usedClasses.addAll(GenUtils.getTypesViaOpaqueBehaviors(currentClass));
-		
+
 		// inner classifier attribute dependencies (only ptr and ref and shared aggregation)
 		usedClasses.addAll(GenUtils.getInnerClassifierTypesViaAttributes(currentClass, null, ptrRefStereotypes, false, false));
 		usedClasses.addAll(GenUtils.getInnerClassifierTypesViaSharedAggregationAttributes(currentClass));
@@ -158,13 +158,13 @@
 		usedClasses.removeAll(GenUtils.getInnerClassifierTypesViaOperations(currentClass, noCodeGenStereotypes, inlineStereotypes, ptrRefStereotypes, null, true)); // Remove inner classifier inline operation parameter types that have been included previously
 		// inner classifier no-specification opaque behavior dependencies
 		usedClasses.addAll(GenUtils.getInnerClassifierTypesViaOpaqueBehaviors(currentClass));
-		
+
 		// TODO inline operation body dependencies: how?
-		
+
 		// template parameters are declared locally (if owned) and do not correspond to a file
 		// that can be included
 		usedClasses.removeAll(GenUtils.getTemplateParameteredElements(currentClass));
-		
+
 		// Remove enumerations and primitive types
 		List<Classifier> enumerationsAndPrimitiveTypes = new UniqueEList<Classifier>();
 		for (Classifier classifier : usedClasses) {
@@ -175,54 +175,54 @@
 			}
 		}
 		usedClasses.removeAll(enumerationsAndPrimitiveTypes);
-		
+
 		return usedClasses;
 	}
-	
+
 	public static EList<Classifier> usingClassifiers(Classifier currentClass) {
 		EList<Classifier> usedClasses = new UniqueEList<Classifier>();
 		usedClasses.addAll(includedClassifiers(currentClass));
 		usedClasses.addAll(includedImplementationClassifiers(currentClass));
 		usedClasses.addAll(declaredClassifiers(currentClass));
-		
+
 		EList<Classifier> classesToRemove = new UniqueEList<Classifier>();
 		for (Classifier classifier : usedClasses) {
 			if (classifier.getOwner() instanceof Classifier) {
 				classesToRemove.add(classifier);
 			} else if (!classifier.getModel().equals(currentClass.getModel())) {
 				classesToRemove.add(classifier);
-			} else if (UMLUtil.getStereotypeApplication(classifier, External.class) != null)  {
+			} else if (UMLUtil.getStereotypeApplication(classifier, External.class) != null) {
 				classesToRemove.add(classifier);
 			} else if (classifier.getOwner() instanceof Package
 					&& UMLUtil.getStereotypeApplication(classifier.getOwner(), ExternLibrary.class) != null) {
 				classesToRemove.add(classifier);
 			}
 		}
-		
+
 		usedClasses.removeAll(classesToRemove);
-		
+
 		return usedClasses;
 	}
-	
+
 	/**
 	 * Retrieve the list of operations of classes nested in the current class
 	 * without the operations directly owned by the current class
 	 * 
 	 * @param currentClass
-	 * @return
+	 * @return a list of nested operations
 	 */
 	public static EList<Operation> nestedOperations(Classifier currentClass) {
 		EList<Operation> nestedOperations = new UniqueEList<Operation>();
-		
+
 		for (Element element : currentClass.allOwnedElements()) {
 			if (element instanceof Operation && !(element.getOwner().equals(currentClass))) {
 				nestedOperations.add((Operation) element);
 			}
 		}
-		
+
 		return nestedOperations;
 	}
-	
+
 	private static void addEnumerationsPrimitiveTypesExternalTypes(List<Classifier> usedClasses, List<Classifier> unfilteredClasses) {
 		if (usedClasses != null && unfilteredClasses != null) {
 			for (Classifier classifier : unfilteredClasses) {
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CGenUtils.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CGenUtils.java
index 4b5f868..697021d 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CGenUtils.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/CGenUtils.java
@@ -18,9 +18,9 @@
 import org.eclipse.emf.common.util.BasicEList;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.papyrus.designer.languages.common.base.GenUtils;
+import org.eclipse.papyrus.designer.languages.common.profile.Codegen.NoCodeGen;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ExternLibrary;
 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.languages.cpp.profile.C_Cpp.Visibility;
 import org.eclipse.uml2.uml.Classifier;
@@ -45,10 +45,10 @@
 
 /**
  * Some utilities specific to C code generation: a set of static methods that is intended
- * for use from Acceleo templates.
+ * for use from xtend templates.
  *
  * @author wassim, ansgar
- *
+ * TODO: Unify with C++ GenUtils?
  */
 public class CGenUtils {
 
@@ -61,10 +61,9 @@
 	public static boolean USE_ALL_NS = true;
 
 	/**
-	 * Return a list of template parameters without type
 	 *
 	 * @param classifier
-	 * @return
+	 * @return a list of template parameters without type
 	 */
 	public static String getTemplateParametersWoType(Classifier classifier) {
 		String tparamWoType = ""; //$NON-NLS-1$
@@ -83,11 +82,10 @@
 	}
 
 	/**
-	 * The standard UML and MARTE libraries do not apply the stereotype "Typedef". Yet, we want to treat these
-	 * types in an identical way, i.e. we use a typedef to the associated primitive C++ type
-	 *
 	 * @param type
-	 * @return
+	 *            a primitive type
+	 * @return The standard UML and MARTE libraries do not apply the stereotype "Typedef". Yet, we want to treat these
+	 *         types in an identical way, i.e. we use a typedef to the associated primitive C++ type
 	 */
 	public static String getStdtypes(PrimitiveType type) {
 		Object owner = type.getOwner();
@@ -103,20 +101,15 @@
 
 			if (name.equals("Boolean")) { //$NON-NLS-1$
 				td = "bool"; //$NON-NLS-1$
-			}
-			else if (name.equals("Integer")) { //$NON-NLS-1$
+			} else if (name.equals("Integer")) { //$NON-NLS-1$
 				td = "int"; //$NON-NLS-1$
-			}
-			else if (name.equals("Unlimited Natural")) { //$NON-NLS-1$
+			} else if (name.equals("Unlimited Natural")) { //$NON-NLS-1$
 				td = "unsigned long"; //$NON-NLS-1$
-			}
-			else if (name.equals("Real")) { //$NON-NLS-1$
+			} else if (name.equals("Real")) { //$NON-NLS-1$
 				td = "float"; //$NON-NLS-1$
-			}
-			else if (name.equals("String")) { //$NON-NLS-1$
+			} else if (name.equals("String")) { //$NON-NLS-1$
 				td = "const char *"; //$NON-NLS-1$
-			}
-			else if (name.equals("Unlimited Natural")) { //$NON-NLS-1$
+			} else if (name.equals("Unlimited Natural")) { //$NON-NLS-1$
 				td = "unsigned long"; //$NON-NLS-1$
 			}
 			if (td != null) {
@@ -170,7 +163,7 @@
 	 * - The named element is a primitive type that has no further definition via a stereotype (TODO: why is this required/useful?)
 	 *
 	 * @param ne
-	 * @return
+	 * @return a qualified name
 	 */
 	public static String cppQualifiedName(NamedElement ne) {
 		if (ne == null) {
@@ -193,22 +186,18 @@
 
 		if (GenUtils.hasStereotypeTree(ne, NoCodeGen.class)) {
 			return ne.getName();
-		}
-		else if (GenUtils.hasStereotypeTree(ne, ExternLibrary.class)) {
+		} else if (GenUtils.hasStereotypeTree(ne, ExternLibrary.class)) {
 			ExternLibrary extLibrary = GenUtils.getApplicationTree(ne, ExternLibrary.class);
 			// handle potential prefix defined for all types within the external library
 			return GenUtils.maskNull(extLibrary.getPrefix()) + ne.getName();
-		}
-		else if (GenUtils.hasStereotype(ne, External.class)) {
+		} else if (GenUtils.hasStereotype(ne, External.class)) {
 			// check External after ExternLibrary stereotype, in order to take an
 			// eventual prefix defined by the latter into account
 			return ne.getName();
-		} 
-		else if (owningPkgName.equals(ANSI_C_LIB)) {
+		} else if (owningPkgName.equals(ANSI_C_LIB)) {
 			// always use the short name for types within the ANSI C library
 			return ne.getName();
-		}
-		else if (owner instanceof ClassifierTemplateParameter) {
+		} else if (owner instanceof ClassifierTemplateParameter) {
 			// return short name for template in Type
 			return ne.getName();
 		}
@@ -321,8 +310,7 @@
 			allNamespaces.add((Package) ne);
 			allNamespaces.addAll(ne.allNamespaces());
 			return allNamespaces;
-		}
-		else {
+		} else {
 			return ne.allNamespaces();
 		}
 	}
@@ -362,7 +350,7 @@
 		}
 		return openNS;
 	}
-	
+
 	/**
 	 * Return a C++ close-namespace definition for a named element
 	 *
@@ -399,11 +387,10 @@
 
 
 	/**
-	 * Return the C++ visibility (on generalizations) in text form. Return public, if no stereotype
+	 * @return Return the C visibility (on generalizations) in text form. Return public, if no stereotype
 	 * visibility exists
 	 *
 	 * @param element
-	 * @return
 	 */
 	public static String getGeneralizationVisibility(Element element) {
 		// get visibility and target name
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/Modifier.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/Modifier.java
index 6b7367d..da1a801 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/Modifier.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/src/org/eclipse/papyrus/designer/languages/c/codegen/utils/Modifier.java
@@ -11,8 +11,9 @@
 
 package org.eclipse.papyrus.designer.languages.c.codegen.utils;
 
-import org.eclipse.papyrus.designer.languages.common.base.GenUtils;
 import org.eclipse.papyrus.designer.languages.c.codegen.preferences.CCodeGenUtils;
+import org.eclipse.papyrus.designer.languages.common.base.GenUtils;
+import org.eclipse.papyrus.designer.languages.common.base.StringConstants;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Array;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Const;
 import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Mutable;
@@ -41,16 +42,16 @@
 
 	public static String modPtr(Element propertyOrParameter) {
 		// Pointer
-		String ptr; //$NON-NLS-1$
+		String ptr;
 		Ptr cppPtr = UMLUtil.getStereotypeApplication(propertyOrParameter, Ptr.class);
 		if (cppPtr != null) {
-			ptr = (cppPtr.getDeclaration() != null && !cppPtr.getDeclaration().equals("")) ? cppPtr.getDeclaration() : "*"; //$NON-NLS-1$
+			ptr = (cppPtr.getDeclaration() != null && !cppPtr.getDeclaration().equals(StringConstants.EMPTY)) ? cppPtr.getDeclaration() : StringConstants.STAR;
 		} else {
 			if (propertyOrParameter instanceof Property
 					&& ((Property) propertyOrParameter).getAggregation() == AggregationKind.SHARED_LITERAL) {
-				ptr = "*"; //$NON-NLS-1$
+				ptr = StringConstants.STAR;
 			} else {
-				ptr = ""; //$NON-NLS-1$
+				ptr = StringConstants.EMPTY;
 			}
 		}
 		
@@ -73,12 +74,12 @@
 
 	public static String modRef(Element propertyOrParameter) {
 		// Reference
-		String ref; //$NON-NLS-1$
+		String ref;
 		Ref cppRef = UMLUtil.getStereotypeApplication(propertyOrParameter, Ref.class);
 		if (cppRef != null) {
-			ref = (cppRef.getDeclaration() != null && !cppRef.getDeclaration().equals("")) ? cppRef.getDeclaration() : "&"; //$NON-NLS-1$
+			ref = (cppRef.getDeclaration() != null && !cppRef.getDeclaration().equals(StringConstants.EMPTY)) ? cppRef.getDeclaration() : "&"; //$NON-NLS-1$
 		} else {
-			ref = "";
+			ref = StringConstants.EMPTY;
 		}
 		
 		return ref;
@@ -87,7 +88,7 @@
 	public static String modArray(Element propertyOrParameter) {
 		// Array
 		Array cppArray = UMLUtil.getStereotypeApplication(propertyOrParameter, Array.class);
-		String array = ""; //$NON-NLS-1$
+		String array = StringConstants.EMPTY;
 		if (cppArray != null) {
 			// explicit array definition
 			array = (cppArray.getDefinition() != null && !cppArray.getDefinition().isEmpty()) ? cppArray.getDefinition() : "[]"; //$NON-NLS-1$
@@ -97,7 +98,7 @@
 			if (propertyOrParameter instanceof MultiplicityElement) {
 				multiplicity = ((MultiplicityElement) propertyOrParameter).getUpper();
 			}
-			array = ""; //$NON-NLS-1$
+			array = StringConstants.EMPTY;
 			if (multiplicity == -1) {
 				array = "[]"; //$NON-NLS-1$
 			} else if (multiplicity > 1) {
@@ -108,12 +109,11 @@
 	}
 
 	/**
-	 * return modifier for const and volatile
 	 * @param propertyOrParameter
-	 * @return
+	 * @return modifier for const and volatile
 	 */
 	public static String modCVQualifier(Element propertyOrParameter) {
-		String cvQualifier = ""; //$NON-NLS-1$
+		String cvQualifier = StringConstants.EMPTY;
 		// CVQualifiers cannot be used with static functions
 		if (propertyOrParameter instanceof Operation && ((Operation) propertyOrParameter).isStatic()) {
 			// do nothing
@@ -146,7 +146,7 @@
 		// Mutable (non-static attribute only)
 		if (GenUtils.hasStereotype(propertyOrParameter, Mutable.class)) {
 			if (propertyOrParameter instanceof Property && !((Property) propertyOrParameter).isStatic()) {
-				cvQualifier = "mutable " + cvQualifier;
+				cvQualifier = "mutable " + cvQualifier; //$NON-NLS-1$
 			}
 		}
 		
@@ -156,21 +156,21 @@
 	/**
 	 * return modifier for storage class
 	 * @param propertyOrParameter
-	 * @return
+	 * @return modifier
 	 */
 	public static String modSCQualifier(Element propertyOrParameter) {
 		StorageClass sc = UMLUtil.getStereotypeApplication(propertyOrParameter, StorageClass.class);
 		if (sc != null) {
 			return sc.getStorageClass().getLiteral() + " "; //$NON-NLS-1$
 		}
-		return ""; //$NON-NLS-1$
+		return StringConstants.EMPTY;
 	}
 	
 	/**
 	 * Return inform about the direction of a parameter in form of a comment
 	 * 
 	 * @param propertyOperationOrParameter
-	 * @return
+	 * @return string information
 	 */
 	public static String dirInfo(Element propertyOperationOrParameter) {
 		if (propertyOperationOrParameter instanceof Parameter) {
@@ -183,7 +183,7 @@
 				return " /*inout*/"; //$NON-NLS-1$
 			}
 		}
-		return ""; //$NON-NLS-1$
+		return StringConstants.EMPTY;
 	}
 
 	/**
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class
deleted file mode 100644
index ea1ea10..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class
deleted file mode 100644
index fba01cf..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/.doxyfileScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/.doxyfileScript.java._trace
deleted file mode 100644
index eb603a7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/.doxyfileScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class
deleted file mode 100644
index c29238f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend
deleted file mode 100644
index 4f6e759..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.xtend
+++ /dev/null
@@ -1,240 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.doxygen
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import org.eclipse.uml2.uml.Model
-import org.eclipse.uml2.uml.Package
-
-class doxyfileScript {
-	def public static doxyfileScript(Model model) '''
-		// This template is called by the main module file 
-		#---------------------------------------------------------------------------
-		# Project related configuration options
-		#---------------------------------------------------------------------------
-		PROJECT_NAME           = «model.genName»
-		PROJECT_NUMBER         = 
-		OUTPUT_DIRECTORY       = ./docs/
-		CREATE_SUBDIRS         = NO
-		OUTPUT_LANGUAGE        = English
-		USE_WINDOWS_ENCODING   = NO
-		BRIEF_MEMBER_DESC      = YES
-		REPEAT_BRIEF           = YES
-		ABBREVIATE_BRIEF       = 
-		ALWAYS_DETAILED_SEC    = NO
-		INLINE_INHERITED_MEMB  = NO
-		FULL_PATH_NAMES        = NO
-		STRIP_FROM_PATH        = 
-		STRIP_FROM_INC_PATH    = 
-		SHORT_NAMES            = NO
-		JAVADOC_AUTOBRIEF      = NO
-		MULTILINE_CPP_IS_BRIEF = NO
-		DETAILS_AT_TOP         = NO
-		INHERIT_DOCS           = YES
-		SEPARATE_MEMBER_PAGES  = NO
-		TAB_SIZE               = 4
-		ALIASES                = 
-		OPTIMIZE_OUTPUT_FOR_C  = YES
-		OPTIMIZE_OUTPUT_JAVA   = NO
-		BUILTIN_STL_SUPPORT    = NO
-		DISTRIBUTE_GROUP_DOC   = NO
-		SUBGROUPING            = YES
-		#---------------------------------------------------------------------------
-		# Build related configuration options
-		#---------------------------------------------------------------------------
-		EXTRACT_ALL            = YES
-		EXTRACT_PRIVATE        = NO
-		EXTRACT_STATIC         = NO
-		EXTRACT_LOCAL_CLASSES  = YES
-		EXTRACT_LOCAL_METHODS  = NO
-		HIDE_UNDOC_MEMBERS     = YES
-		HIDE_UNDOC_CLASSES     = YES
-		HIDE_FRIEND_COMPOUNDS  = NO
-		HIDE_IN_BODY_DOCS      = NO
-		INTERNAL_DOCS          = NO
-		CASE_SENSE_NAMES       = YES
-		HIDE_SCOPE_NAMES       = NO
-		SHOW_INCLUDE_FILES     = YES
-		INLINE_INFO            = YES
-		SORT_MEMBER_DOCS       = YES
-		SORT_BRIEF_DOCS        = NO
-		SORT_BY_SCOPE_NAME     = NO
-		GENERATE_TODOLIST      = YES
-		GENERATE_TESTLIST      = YES
-		GENERATE_BUGLIST       = YES
-		GENERATE_DEPRECATEDLIST= YES
-		ENABLED_SECTIONS       = 
-		MAX_INITIALIZER_LINES  = 30
-		SHOW_USED_FILES        = YES
-		SHOW_DIRECTORIES       = YES
-		FILE_VERSION_FILTER    = 
-		#---------------------------------------------------------------------------
-		# configuration options related to warning and progress messages
-		#---------------------------------------------------------------------------
-		QUIET                  = NO
-		WARNINGS               = YES
-		WARN_IF_UNDOCUMENTED   = YES
-		WARN_IF_DOC_ERROR      = YES
-		WARN_NO_PARAMDOC       = NO
-		WARN_FORMAT            = "$file:$line: $text"
-		WARN_LOGFILE           = 
-		#---------------------------------------------------------------------------
-		# configuration options related to the input files
-		#---------------------------------------------------------------------------
-		INPUT                  = «model.genPackagePaths»
-		FILE_PATTERNS          = *.c \
-		                         *.h
-		RECURSIVE              = YES
-		EXCLUDE                = 
-		EXCLUDE_SYMLINKS       = NO
-		EXCLUDE_PATTERNS       = 
-		EXAMPLE_PATH           = 
-		EXAMPLE_PATTERNS       = 
-		EXAMPLE_RECURSIVE      = NO
-		IMAGE_PATH             = ./docs/pictures/
-		INPUT_FILTER           = 
-		FILTER_PATTERNS        = 
-		FILTER_SOURCE_FILES    = NO
-		#---------------------------------------------------------------------------
-		# configuration options related to source browsing
-		#---------------------------------------------------------------------------
-		SOURCE_BROWSER         = YES
-		INLINE_SOURCES         = YES
-		STRIP_CODE_COMMENTS    = YES
-		REFERENCED_BY_RELATION = YES
-		REFERENCES_RELATION    = YES
-		REFERENCES_LINK_SOURCE = YES
-		USE_HTAGS              = NO
-		VERBATIM_HEADERS       = YES
-		#---------------------------------------------------------------------------
-		# configuration options related to the alphabetical class index
-		#---------------------------------------------------------------------------
-		ALPHABETICAL_INDEX     = YES
-		COLS_IN_ALPHA_INDEX    = 5
-		IGNORE_PREFIX          = 
-		#---------------------------------------------------------------------------
-		# configuration options related to the HTML output
-		#---------------------------------------------------------------------------
-		GENERATE_HTML          = YES
-		HTML_OUTPUT            = html
-		HTML_FILE_EXTENSION    = .html
-		HTML_HEADER            = 
-		HTML_FOOTER            = 
-		HTML_STYLESHEET        = 
-		HTML_ALIGN_MEMBERS     = YES
-		GENERATE_HTMLHELP      = NO
-		CHM_FILE               = 
-		HHC_LOCATION           = 
-		GENERATE_CHI           = NO
-		BINARY_TOC             = NO
-		TOC_EXPAND             = NO
-		DISABLE_INDEX          = NO
-		ENUM_VALUES_PER_LINE   = 4
-		GENERATE_TREEVIEW      = YES
-		TREEVIEW_WIDTH         = 250
-		#---------------------------------------------------------------------------
-		# configuration options related to the LaTeX output
-		#---------------------------------------------------------------------------
-		GENERATE_LATEX         = NO
-		LATEX_OUTPUT           = latex
-		LATEX_CMD_NAME         = latex
-		MAKEINDEX_CMD_NAME     = makeindex
-		COMPACT_LATEX          = NO
-		PAPER_TYPE             = a4wide
-		EXTRA_PACKAGES         = 
-		LATEX_HEADER           = 
-		PDF_HYPERLINKS         = NO
-		USE_PDFLATEX           = NO
-		LATEX_BATCHMODE        = NO
-		LATEX_HIDE_INDICES     = NO
-		#---------------------------------------------------------------------------
-		# configuration options related to the RTF output
-		#---------------------------------------------------------------------------
-		GENERATE_RTF           = NO
-		RTF_OUTPUT             = rtf
-		COMPACT_RTF            = NO
-		RTF_HYPERLINKS         = NO
-		RTF_STYLESHEET_FILE    = 
-		RTF_EXTENSIONS_FILE    = 
-		#---------------------------------------------------------------------------
-		# configuration options related to the man page output
-		#---------------------------------------------------------------------------
-		GENERATE_MAN           = NO
-		MAN_OUTPUT             = man
-		MAN_EXTENSION          = .3
-		MAN_LINKS              = NO
-		#---------------------------------------------------------------------------
-		# configuration options related to the XML output
-		#---------------------------------------------------------------------------
-		GENERATE_XML           = NO
-		XML_OUTPUT             = xml
-		XML_SCHEMA             = 
-		XML_DTD                = 
-		XML_PROGRAMLISTING     = YES
-		#---------------------------------------------------------------------------
-		# configuration options for the AutoGen Definitions output
-		#---------------------------------------------------------------------------
-		GENERATE_AUTOGEN_DEF   = NO
-		#---------------------------------------------------------------------------
-		# configuration options related to the Perl module output
-		#---------------------------------------------------------------------------
-		GENERATE_PERLMOD       = NO
-		PERLMOD_LATEX          = NO
-		PERLMOD_PRETTY         = YES
-		PERLMOD_MAKEVAR_PREFIX = 
-		#---------------------------------------------------------------------------
-		# Configuration options related to the preprocessor   
-		#---------------------------------------------------------------------------
-		ENABLE_PREPROCESSING   = YES
-		MACRO_EXPANSION        = NO
-		EXPAND_ONLY_PREDEF     = NO
-		SEARCH_INCLUDES        = YES
-		INCLUDE_PATH           = 
-		INCLUDE_FILE_PATTERNS  = 
-		PREDEFINED             = 
-		EXPAND_AS_DEFINED      = 
-		SKIP_FUNCTION_MACROS   = YES
-		#---------------------------------------------------------------------------
-		# Configuration.additions related to external references   
-		#---------------------------------------------------------------------------
-		TAGFILES               = 
-		GENERATE_TAGFILE       = 
-		ALLEXTERNALS           = NO
-		EXTERNAL_GROUPS        = YES
-		PERL_PATH              = /usr/bin/perl
-		#---------------------------------------------------------------------------
-		# Configuration options related to the dot tool   
-		#---------------------------------------------------------------------------
-		CLASS_DIAGRAMS         = YES
-		HIDE_UNDOC_RELATIONS   = YES
-		HAVE_DOT               = YES
-		CLASS_GRAPH            = YES
-		COLLABORATION_GRAPH    = YES
-		GROUP_GRAPHS           = YES
-		UML_LOOK               = YES
-		TEMPLATE_RELATIONS     = YES
-		INCLUDE_GRAPH          = YES
-		INCLUDED_BY_GRAPH      = YES
-		CALL_GRAPH             = YES
-		CALLER_GRAPH           = YES
-		GRAPHICAL_HIERARCHY    = YES
-		DIRECTORY_GRAPH        = YES
-		DOT_IMAGE_FORMAT       = png
-		DOT_PATH               = 
-		DOTFILE_DIRS           = 
-		MAX_DOT_GRAPH_WIDTH    = 1024
-		MAX_DOT_GRAPH_HEIGHT   = 1024
-		MAX_DOT_GRAPH_DEPTH    = 0
-		DOT_TRANSPARENT        = NO
-		DOT_MULTI_TARGETS      = NO
-		GENERATE_LEGEND        = YES
-		DOT_CLEANUP            = YES
-		#---------------------------------------------------------------------------
-		# Configuration.additions related to the search engine   
-		#---------------------------------------------------------------------------
-		SEARCHENGINE           = NO
-	'''
-
-
-	def public static genPackagePaths(Package pkg) '''
-		«pkg.qualifiedName.replace(".", "/")»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.classHeaderScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.classHeaderScript.java._trace
deleted file mode 100644
index 8941569..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.classHeaderScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.commonHeaderScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.commonHeaderScript.java._trace
deleted file mode 100644
index edc58ed..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.commonHeaderScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.dataTypeHeaderScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.dataTypeHeaderScript.java._trace
deleted file mode 100644
index b12f3f8..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/.dataTypeHeaderScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$1.class
deleted file mode 100644
index 5bc59a2..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$2.class
deleted file mode 100644
index 75e1cad..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$3.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$3.class
deleted file mode 100644
index 3f10375..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript$3.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class
deleted file mode 100644
index 23c7857..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend
deleted file mode 100644
index 6c0d76b..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.xtend
+++ /dev/null
@@ -1,79 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.header
-
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.VisibilityKind
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.header.commonHeaderScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.classScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.functionScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.importScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.variableScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
-
-class classHeaderScript {
-	def public static classHeaderScript(Class clazz) '''
-		// This template is called by the main module file 
-		«clazz.genHeading»
-		
-		«clazz.genHeadingHeader»
-		
-		// Explicit import of the class
-		«clazz.genImport»
-		
-		// header body
-		«clazz.classHeaderBody»
-		
-		«clazz.genEndHeader»
-	'''
-
-	def public static classHeaderBody(Class clazz) '''
-		«IF (clazz.visibility == VisibilityKind.PUBLIC_LITERAL)»
-			«clazz.partComment('Public Class Description')»
-			//  Structure 
-			«clazz.genClassStructDeclarations()»
-			
-			// Constructor and destructor declarations 
-			«clazz.genDynamicInstanciationOperationPrototypes()»
-			
-			// Property initialisation declarations
-			«clazz.genDefaultInitialisationProtoype()»
-			
-			// Class methods declarations
-			«clazz.genNonStaticFunctionDeclarations()»
-		«ENDIF»
-		
-		// ----------------------------------Public Global VariableDescription----------------------------------
-		
-		«IF (clazz.ownedAttributes.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL && type != null].size > 0)»
-			«clazz.partComment('Global Public Variable Declarations')»
-		«ENDIF»
-		«FOR attribute : clazz.ownedAttributes»
-			«IF (attribute.isStatic && attribute.visibility == VisibilityKind.PUBLIC_LITERAL && attribute.type != null)»
-				// global variable declaration
-				«attribute.genVariableDeclaration»
-			«ENDIF»
-		«ENDFOR»
-		
-		// ----------------------------------Global Public Functions----------------------------------
-		«IF (clazz.ownedOperations.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL].size > 0)»
-			«clazz.partComment('Global Public Function Declarations')»
-		«ENDIF»
-		«FOR operation : clazz.ownedOperations + clazz.interfaceRealizations.map[contract.ownedOperations].flatten»
-			«IF operation.isStatic && operation.visibility == VisibilityKind.PUBLIC_LITERAL»
-				«operation.genFunctionPrototype»
-			«ENDIF»
-		«ENDFOR»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class
deleted file mode 100644
index 32d28bc..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend
deleted file mode 100644
index 14e08da..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.xtend
+++ /dev/null
@@ -1,27 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.header
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import org.eclipse.uml2.uml.NamedElement
-
-class commonHeaderScript {
-	def public static genHeadingHeader(NamedElement namedElement) '''
-		#ifndef «namedElement.genName.toString.toUpperCase»_H_
-		#define «namedElement.genName.toString.toUpperCase»_H_
-	'''
-
-
-	def public static genEndHeader(NamedElement namedElement) '''
-		#endif /*«namedElement.genName.toString.toUpperCase»_H_*/
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript$1.class
deleted file mode 100644
index 78ab200..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript$2.class
deleted file mode 100644
index 2419f72..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class
deleted file mode 100644
index 41449c0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend
deleted file mode 100644
index 4291dc4..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.xtend
+++ /dev/null
@@ -1,64 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.header
-
-import org.eclipse.uml2.uml.DataType
-import org.eclipse.uml2.uml.VisibilityKind
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.header.commonHeaderScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.dataTypeScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.importScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.variableScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
-
-class dataTypeHeaderScript {
-	def public static dataTypefill(DataType dataType) '''
-	'''
-
-
-	def public static dataTypeHeaderScript(DataType dataType) '''
-		// This template is called by the main module file 
-		«dataType.genHeading»
-		
-		«dataType.genHeadingHeader»
-		
-		// Explicit import of the class
-		«dataType.genImport»
-		
-		// header body
-		«dataType.dataTypeHeaderBody»
-		
-		«dataType.genEndHeader»
-	'''
-
-
-	def public static dataTypeHeaderBody(DataType dataType) '''
-		«dataType.partComment('Public Class Description')»
-		//  Structure 
-		«dataType.genDataTypeStructDeclarations()»
-
-		// Property initialisation declarations
-		«dataType.genDefaultInitialisationProtoype()»
-
-		// ----------------------------------Public Global VariableDescription----------------------------------
-		«IF (dataType.ownedAttributes.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL && type != null].size> 0)»
-			«dataType.partComment('Global Public Variable Declarations')»
-		«ENDIF»
-		«FOR attribute : dataType.ownedAttributes.filter[!isStatic]»
-			«IF (attribute.visibility == VisibilityKind.PUBLIC_LITERAL && attribute.type != null)»
-				// global variable declaration
-				«attribute.genVariableDeclaration()»
-			«ENDIF»
-		«ENDFOR»
-	'''
-}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.classScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.classScript.java._trace
deleted file mode 100644
index 2b16900..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.classScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.commentScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.commentScript.java._trace
deleted file mode 100644
index e68a473..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.commentScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.commonScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.commonScript.java._trace
deleted file mode 100644
index bffcf54..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.commonScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.dataTypeScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.dataTypeScript.java._trace
deleted file mode 100644
index cb488f6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.dataTypeScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.functionScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.functionScript.java._trace
deleted file mode 100644
index 8949046..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.functionScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.importScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.importScript.java._trace
deleted file mode 100644
index bf6ea50..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.importScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.interfaceScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.interfaceScript.java._trace
deleted file mode 100644
index f79e8ff..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.interfaceScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.multiplicityScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.multiplicityScript.java._trace
deleted file mode 100644
index 6d8b34d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.multiplicityScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.typeScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.typeScript.java._trace
deleted file mode 100644
index f431b39..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.typeScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.valueSpecificationScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.valueSpecificationScript.java._trace
deleted file mode 100644
index 9cf173a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.valueSpecificationScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.variableScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.variableScript.java._trace
deleted file mode 100644
index 12394d7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/.variableScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$1.class
deleted file mode 100644
index 2b84531..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$10.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$10.class
deleted file mode 100644
index c8c5bdf..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$10.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$2.class
deleted file mode 100644
index a56f6d6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$3.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$3.class
deleted file mode 100644
index 867c2df..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$3.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$4.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$4.class
deleted file mode 100644
index 30f89da..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$4.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$5.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$5.class
deleted file mode 100644
index a98489e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$5.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$6.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$6.class
deleted file mode 100644
index 8ce6356..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$6.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$7.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$7.class
deleted file mode 100644
index 0784f94..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$7.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$8.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$8.class
deleted file mode 100644
index d6a6054..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$8.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$9.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$9.class
deleted file mode 100644
index a65d188..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript$9.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class
deleted file mode 100644
index 5f98a1c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend
deleted file mode 100644
index 07ca105..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.xtend
+++ /dev/null
@@ -1,147 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.functionScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.variableScript.*
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.profile.standard.Create
-import org.eclipse.uml2.uml.VisibilityKind
-import org.eclipse.uml2.uml.profile.standard.Destroy
-
-class classScript {
-	def public static genDynamicInstanciationOperationPrototypes(Class clazz) '''
-		«clazz.partComment('Default constructor & destructor prototypes')»
-		«clazz.genConstructorPrototype»
-		«clazz.genDestructorPrototype»
-	'''
-
-	// generate a constructor prototype, if there is none 
-	def public static genConstructorPrototype(Class clazz) '''
-		«IF (clazz.ownedOperations.filter[hasStereotype(Create)].size == 0)»
-			/**
-			 * Dynamic instantiation of a «clazz.genName()» structure
-			 * @return «clazz.genName()» instance pointer
-			 */
-			«clazz.genName»* «clazz.genName()»_create();
-		«ENDIF»
-		
-	'''
-
-	// generate a destructor prototype, if there is none 
-	def public static genDestructorPrototype(Class clazz) '''
-		«IF (clazz.ownedOperations.filter[hasStereotype(Destroy)].size == 0)»
-			/**
-			 * Dynamic destruction of a «clazz.genName()» structure instantiation
-			 * @param Pointer to an instance of the «clazz.genName()» structure
-			 * @return void
-			 */
-			void «clazz.genName»_destroy(«clazz.genName»*);
-		«ENDIF»
-	'''
-
-	def public static genDynamicInstanciationOperations(Class clazz) '''
-		«clazz.partComment('Default constructor & destructor implementations')»
-		«clazz.genConstructor»
-		«clazz.genDestructor»
-	'''
-
-	// generate a constructor, if there is none
-	def public static genConstructor(Class clazz) '''
-		«IF (clazz.ownedOperations.filter[hasStereotype(Create)].size == 0)»
-			«clazz.genName()»* «clazz.genName()»_create() {
-				«clazz.genName()»* self = («clazz.genName()»*) malloc(sizeof(«clazz.genName()»));
-				return self;
-			}
-		«ENDIF»
-	'''
-
-	// generate a destructor implementation, if there is none
-	def public static genDestructor(Class clazz) '''
-		«IF (clazz.ownedOperations.filter[hasStereotype(Destroy)].size == 0)»
-			// default destructor
-			void «clazz.genName()»_destroy(«clazz.genName()»* self) {
-				free(self);
-			}
-			
-		«ENDIF»
-	'''
-
-	def public static genDefaultInitialisationProtoype(Class clazz) '''
-		«IF (clazz.getAllAttributes().filter[defaultValue != null].size > 0)»
-			«clazz.partComment('Default value initialization prototypes')»
-			/**
-			 * Default value initialization
-			 * @param «clazz.genName()» structure instance pointer
-			 * @return void
-			 */
-			void «clazz.genName()»_init(«clazz.genName()»* self);
-
-		«ENDIF»
-	'''
-
-	def public static genDefaultIntialisationOperation(Class clazz) '''
-		«IF (clazz.getAllAttributes.filter[defaultValue != null].size > 0)»
-			«clazz.partComment('Default value initialization implementation')»
-			void «clazz.genName()»_init(«clazz.genName()»* self) {
-				«FOR attribute : clazz.getAllAttributes»
-					«IF (attribute.defaultValue != null && !attribute.isStatic && attribute.type != null)»
-						«attribute.genInitDefaultValue»
-					«ENDIF»
-				«ENDFOR»
-			}
-		«ENDIF»
-	'''
-
-	def public static defaultIntialisationCall(Class clazz) '''
-		«IF (clazz.getAllAttributes.filter[defaultValue != null].size > 0)»
-			/* Default value initialization */
-			«clazz.genName()»_init(&«clazz.genName()»);
-		«ENDIF»
-	'''
-
-	def public static genClassStructDeclarations(Class clazz) '''
-		/* Class Macro definition */
-		#define «clazz.genName()»(OBJ) ((«clazz.genName()»*)OBJ)
-		
-		«FOR comment : clazz.ownedComments»
-			«comment.genComment»
-		«ENDFOR»
-		typedef struct «clazz.genName» «clazz.genName»;
-		
-		struct «clazz.genName» {
-			«FOR attribute : clazz.getClassStructAttributes»
-				«IF (!attribute.isStatic)»
-					«attribute.genVariableDeclaration»«ENDIF»
-			«ENDFOR»
-		};
-	'''
-
-	def static getClassStructAttributes(Class clazz) {
-		clazz.getAllAttributes.clone + clazz.interfaceRealizations.map[contract].map[ownedAttributes].flatten
-	}
-	
-	def public static genNonStaticFunctionDeclarations(Class clazz) '''
-		«IF (clazz.ownedOperations.filter[!isStatic && visibility == VisibilityKind.PUBLIC_LITERAL].size() > 0)»
-			«clazz.partComment('Function Declarations')»
-		«ENDIF»
-		«FOR operation : clazz.getAllOperations»
-			«IF (!operation.isStatic && operation.visibility == VisibilityKind.PUBLIC_LITERAL)»
-				«operation.genFunctionPrototype»
-			«ENDIF»
-		«ENDFOR»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class
deleted file mode 100644
index 1b5a313..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.xtend
deleted file mode 100644
index b24e5d4..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.xtend
+++ /dev/null
@@ -1,22 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.uml2.uml.Comment
-
-class commentScript {
-	def public static genComment(Comment comment) '''
-		/**
-		 * «comment.body»
-		 */
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class
deleted file mode 100644
index 3e7820e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend
deleted file mode 100644
index 2d5268b..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.xtend
+++ /dev/null
@@ -1,99 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.DateUtils.*
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
-import org.eclipse.uml2.uml.NamedElement
-import org.eclipse.uml2.uml.Element
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Feature
-import org.eclipse.uml2.uml.PackageImport
-import org.eclipse.uml2.uml.VisibilityKind
-import org.eclipse.uml2.uml.profile.standard.ModelLibrary
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.RedefinableElement
-import java.io.File
-
-class commonScript {
-	def public static genHeading(NamedElement namedElement) '''
-		/* 
-		 * File generated from the «namedElement.qualifiedName» uml class
-		 * Generated by the Papyrus C Generator (CEA LIST) 
-		 * $ Date : «namedElement.getShortDate» «namedElement.getTime()» («namedElement.getLongDate()») $
-		 *
-		 */
-	'''
-
-
-	def public static packagePath(NamedElement element) '''
-		«element.qualifiedName.replace('.', File.separator)»
-	'''
-
-
-	def public static genComment(Element element) '''
-		«FOR comment : element.ownedComments»comment.body»«ENDFOR»
-	'''
-
-
-	def public static genAbstract(Class clazz) '''
-		«IF (clazz.isAbstract)»abstract «ENDIF»
-	'''
-
-
-	def public static genAbstract(Operation operation) '''
-		«IF (operation.isAbstract)»abstract «ENDIF»
-	'''
-
-
-	def public static genFinal(RedefinableElement redefinableElement) '''
-		«IF (redefinableElement.isLeaf)»final «ENDIF»
-	'''
-
-
-	def public static genStatic(Feature feature) '''
-		«IF (feature.isStatic)»static «ENDIF»
-	'''
-
-
-	def public static HeaderPackageImportTemplate(PackageImport packageImport) '''
-		«IF (packageImport.importedPackage.hasStereotype(ModelLibrary))»
-			#include <«packageImport.importedPackage.name».h> 
-		«ELSE»
-			#include «packageImport.importedPackage.name».h
-		«ENDIF»
-	'''
-
-
-	def public static genName(NamedElement namedElement) '''
-		«namedElement.genVisibility»«namedElement.genCoreName()»'''
-
-
-	def public static genCoreName(NamedElement namedElement) {
-		'''«namedElement.name.replaceAll("/|\\.|~", "_")»'''
-	}
-
-
-	def public static genVisibility(NamedElement namedElement) {
-		'''«IF (namedElement.visibility == VisibilityKind.PRIVATE_LITERAL)»
-			/* private */
-		«ELSEIF (namedElement.visibility == VisibilityKind.PROTECTED_LITERAL)»
-			/* protected */
-		«ENDIF»'''.toString.trim
-	}
-
-
-	def public static genIncludeSelf(NamedElement namedElement) '''
-		/* include header file*/
-		#include "«namedElement.genName».h"
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$1.class
deleted file mode 100644
index 377257f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$2.class
deleted file mode 100644
index 8e802e2..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$3.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$3.class
deleted file mode 100644
index 4b1ffec..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript$3.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class
deleted file mode 100644
index 98bbc2a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend
deleted file mode 100644
index 3bab71b..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.xtend
+++ /dev/null
@@ -1,99 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Typedef
-import org.eclipse.uml2.uml.DataType
-import org.eclipse.uml2.uml.Enumeration
-import org.eclipse.uml2.uml.PrimitiveType
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.variableScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
-import static extension org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication
-
-class dataTypeScript {
-	def public static genDefaultInitialisationProtoype(DataType dataType) '''
-		«IF (dataType.ownedAttributes.filter[defaultValue != null].size > 0)»
-			«dataType.partComment('Default value initialization prototypes')»
-			/*
-			 * Default value initialization
-			 * @param «dataType.genName» structure instance pointer
-			 * @return void
-			 */
-			void «dataType.genName»_init(«dataType.genName»* self);
-		«ENDIF»
-		
-	'''
-
-
-	def public static genDefaultIntialisationOperation(DataType dataType) '''
-		«IF (dataType.ownedAttributes.filter[defaultValue != null].size > 0)»
-			«dataType.partComment('Default value initialization Implementation')»
-			void «dataType.genName()»_init(«dataType.genName()»* self){
-			«FOR attribute : dataType.ownedAttributes»
-				«IF (attribute.defaultValue != null && !attribute.isStatic && attribute.type != null)»
-					«attribute.genInitDefaultValue()»
-				«ENDIF»
-			«ENDFOR»
-			}
-		«ENDIF»
-	'''
-
-
-	def public static genDataTypeStructDeclarations(DataType dataType) '''
-		«FOR comment : dataType.ownedComments»
-			 «comment.genComment()»
-		«ENDFOR»
-		typedef struct «dataType.genName» «dataType.genName»;
-		
-		struct «dataType.genName» {
-		«FOR attribute : dataType.getAllAttributes().filter[!isStatic]»
-			«attribute.genVariableDeclaration»
-		«ENDFOR»
-		};
-	'''
-
-
-	def public static genDataTypeStructDeclarations(Enumeration enumeration) '''
-		«FOR comment : enumeration.ownedComments»
-			 «comment.genComment()»
-		«ENDFOR»
-		typedef enum «enumeration.genName()» «enumeration.genName()»;
-		
-		enum «enumeration.genName()»{
-			«FOR literal : enumeration.ownedLiterals SEPARATOR(',\n')»
-				«literal.genName()»
-			«ENDFOR»
-		};
-	'''
-
-
-	def public static genDataTypeStructDeclarations(PrimitiveType primitiveType) '''
-		«FOR comment : primitiveType.ownedComments»
-			 «comment.genComment()»
-		«ENDFOR»
-		«IF (primitiveType.hasStereotype(Typedef))»
-			typedef «primitiveType.getStereotypeApplication(Typedef).definition» «primitiveType.genName()»;
-		«ELSE»
-			typedef struct «primitiveType.genName()» «primitiveType.genName()»;
-			struct «primitiveType.genName()»{
-				«FOR attribute : primitiveType.ownedAttributes»
-					«IF (!attribute.isStatic)»
-						«attribute.genVariableDeclaration()»
-					«ENDIF»
-				«ENDFOR»
-			};
-		«ENDIF»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript$1.class
deleted file mode 100644
index f392c83..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript$2.class
deleted file mode 100644
index f5f9c09..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class
deleted file mode 100644
index 0f855d8..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend
deleted file mode 100644
index 9d4450a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.xtend
+++ /dev/null
@@ -1,136 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import java.util.regex.Pattern
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Const
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.EStorageClass
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.StorageClass
-import org.eclipse.uml2.uml.Interface
-import org.eclipse.uml2.uml.NamedElement
-import org.eclipse.uml2.uml.Operation
-import org.eclipse.uml2.uml.profile.standard.Create
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.interfaceScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.variableScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlOperationServices.*
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
-import static extension org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication
-
-class functionScript {
-	final static Pattern CLANGUAGE = Pattern.compile("C|C\\/C\\+\\+|c")
-	 
-	def public static genFunctionPrototype(Operation operation) '''
-		«FOR comment : operation.ownedComments»
-			«comment.genComment» 
-		«ENDFOR»
-		«operation.genDeclarator»«operation.genReturnArgumentType»«operation.genFunctionDeclarator»(«operation.genArgumentDeclarator»);
-		
-	'''
-
-
-	def public static genFunctionImplementation(Operation operation) '''
-		«FOR comment : operation.ownedComments»
-			«comment.genComment()»
-		«ENDFOR»
-		«operation.genDeclarator()»«operation.genReturnArgumentType»«operation.genFunctionDeclarator()»(«operation.genArgumentDeclarator») {
-			«operation.getBody(CLANGUAGE)»
-		}
-		
-	'''
-
-
-	def public static genDeclarator(Operation operation) { 
-		'''«operation.genStorageClass»«operation.genVolatile»«operation.genConstant»'''
-	}
-
-	def public static genPointer(Operation operation) {
-		'''«IF operation.hasStereotype(Ptr)»* «ENDIF»'''
-	}
-
-
-	def public static genStorageClass(Operation operation) '''
-		«IF (operation.hasStereotype(StorageClass))»
-			«operation.getStereotypeApplication(StorageClass).storageClass» 
-		«ENDIF»
-	'''
-
-
-	def public static genConstant(Operation operation) '''
-		«IF (operation.hasStereotype(Const))»const «ENDIF»
-	'''
-
-
-	def public static genVolatile(Operation operation) '''
-		«IF operation.hasStereotype(StorageClass)»
-			«IF (operation.getStereotypeApplication(StorageClass).storageClass == EStorageClass.VOLATILE)»volatile «ENDIF»
-		«ENDIF»
-	'''
-
-	def public static genArgumentDeclarator(Operation operation) { '''
-		«IF (operation.isStatic)»
-			«IF (operation.getArguments.size == 0)»
-				void
-			«ELSE»
-				«operation.genArguments»
-			«ENDIF»
-		«ELSEIF (!operation.hasStereotype(Create))»
-			«operation.genClassArgument»«IF (operation.getArguments.size > 0)», «ENDIF»
-		«ENDIF»«operation.genArguments»
-	'''.toString.trim }
-
-
-	def public static genFunctionDeclarator(Operation operation) { '''
-		«IF (operation.hasStereotype(Ptr))»
-			(*«operation.genName»)
-		«ELSE»
-			«operation.genName»
-		«ENDIF»
-	'''.toString.trim }
-
-
-	def public static genClassArgument(Operation operation) { '''
-		«IF (operation.namespace instanceof Interface)»
-			«operation.interface.getInterfaceRealizationClass.map[(it as NamedElement).genName]» *self
-		«ELSE»
-			«operation.namespace.genName()» *self
-		«ENDIF»
-	'''.toString.trim }
-
-
-	def public static genArguments(Operation operation) { '''
-		«FOR parameter : operation.getArguments SEPARATOR(', ')» «parameter.genType()» «parameter.genPointer()»«parameter.genName()» «ENDFOR»
-	'''.toString.trim }
-
-
-	def public static genReturnArgumentType(Operation operation) '''
-		«IF (operation.getReturnResult != null)»
-			«operation.getReturnResult.genType»«operation.getReturnResult.genPointer»
-		«ELSE»
-			void
-		«ENDIF»
-	'''
-
-	def public static genName(Operation operation) '''
-		«IF (operation.isStatic)»
-			«operation.genVisibility()»«operation.genCoreName()»
-		«ELSE»
-			«IF (operation.namespace instanceof Interface)»
-				«operation.genVisibility()»«operation.interface.getInterfaceRealizationClass.map[(it as NamedElement).genName]»_«operation.genCoreName()»
-			«ELSE»
-				«operation.genVisibility()»«operation.namespace.genName()»_«operation.genCoreName()»
-			«ENDIF»
-		«ENDIF»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$1.class
deleted file mode 100644
index e124976..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$2.class
deleted file mode 100644
index 1bf6757..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$3.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$3.class
deleted file mode 100644
index 502e4ed..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$3.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$4$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$4$1.class
deleted file mode 100644
index 619c69e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$4$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$4.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$4.class
deleted file mode 100644
index a812eba..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$4.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$5.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$5.class
deleted file mode 100644
index dec9e03..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$5.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$6$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$6$1.class
deleted file mode 100644
index 65bbb8b..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$6$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$6.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$6.class
deleted file mode 100644
index c538a81..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$6.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$7.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$7.class
deleted file mode 100644
index d673eab..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$7.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$8$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$8$1.class
deleted file mode 100644
index ffe81bb..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$8$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$8.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$8.class
deleted file mode 100644
index e338005..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript$8.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class
deleted file mode 100644
index 2a972a3..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend
deleted file mode 100644
index 5be6588..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.xtend
+++ /dev/null
@@ -1,122 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import java.util.ArrayList
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.Classifier
-import org.eclipse.uml2.uml.DataType
-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.profile.standard.ModelLibrary
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.interfaceScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
-
-class importScript {
-	def public static genImport(Classifier classifier) '''
-		«classifier.partComment('Import')»
-		«classifier.genImportList()» «classifier.genDynamicInstanciationImport()» 
-		// User imports
-		/* "startUserCode"   to add imports */
-		/* "endUserCode"     to add imports */
-	'''
-
-
-	def public static genImportList(Classifier classifier) '''
-		«FOR import_ : classifier.getImportList»
-			«import_.genRelativeNamedImport(classifier)»
-		«ENDFOR»
-	'''
-
-
-	def public static getImportList(Classifier classifier) {
-		classifier.genNamespaceImports + classifier.genOwningPackageImports + classifier.genUsageImports
-	}
-
-
-	def public static genRelativeNamedImport(Element element) '''
-	'''
-
-
-	def public static genRelativeNamedImport(NamedElement namedElement1, NamedElement namedElement2) '''
-		«IF (namedElement1.hasStereotypeTree(ModelLibrary))»
-			#include <«namedElement1.namespace.genName()».h>
-		«ELSE»
-			#include "«namedElement2.getRelativePath(namedElement1)»«namedElement1.genName()».h"
-		«ENDIF»
-	'''
-
-	def public static genRelativeNamedImport(Package pkg, NamedElement namedElement) '''
-		«IF (pkg.hasStereotypeTree(ModelLibrary))»
-			#include <«pkg.genName()».h>
-		«ELSE»
-			#include "«pkg.getRelativePath(namedElement)»«pkg.genName».h"
-		«ENDIF»
-	'''
-
-
-	def public static genOwningPackageImports(Classifier classifier) {
-		classifier.namespace.genNamespaceImports()
-	}
-
-
-	def public static genNamespaceImports(Namespace namespace) {
-		namespace.elementImports.map[it.importedElement]
-	}
-
-	def public static genUsageImports(Classifier lassifier) {
-		return new ArrayList<Classifier>();
-	}
-
-	def public static genUsageImports(Class clazz) {
-		if (clazz.hasStereotypeTree(ModelLibrary)) {
-			clazz.getUsedInterfaces()
-		}
-		else {
-			clazz.getUsedInterfaces().map[getInterfaceRealizationClass]
-		}
-	}
-
-	def public static getTypeListOfClassifier(Class clazz) {
-		val list = clazz.getAllAttributes.map[type]
-		list.addAll(clazz.getAllOperations.map[ownedParameters.map[type]])
-		list.addAll(clazz.generals)
-		return list
-	}
-
-
-	def public static getTypeListOfClassifier(Interface intf) {
-		val list = intf.ownedAttributes.map[type]
-		list.addAll(intf.ownedOperations.map[ownedParameters.map[type]])
-		list.addAll(intf.generals)
-		return list
-	}
-
-
-	def public static getTypeListOfClassifier(DataType dataType) {
-		val list = dataType.ownedAttributes.map[type]
-		list.addAll(dataType.ownedOperations.map[ownedParameters.map[type]])
-		list.addAll(dataType.generals)
-		return list
-	}
-
-	// TODO: why do need stdlib in this case? 
-	def public static genDynamicInstanciationImport(Classifier classifier) '''
-		#include <stdlib.h>
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript$1.class
deleted file mode 100644
index 5a7f038..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript$2.class
deleted file mode 100644
index 2209709..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class
deleted file mode 100644
index 11f3296..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend
deleted file mode 100644
index ff3f4f9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.xtend
+++ /dev/null
@@ -1,26 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.NoCodeGen
-import org.eclipse.uml2.common.util.UML2Util
-import org.eclipse.uml2.uml.Classifier
-import org.eclipse.uml2.uml.Element
-import org.eclipse.uml2.uml.InterfaceRealization
-
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.hasStereotypeTree
-
-class interfaceScript {
-	def public static getInterfaceRealizationClass(Classifier classifier) {
-		UML2Util.getInverseReferences(classifier).filter[it instanceof InterfaceRealization && !(it as Element).hasStereotypeTree(NoCodeGen)].map[(it as InterfaceRealization).clients]
-	}
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class
deleted file mode 100644
index f0bbb06..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend
deleted file mode 100644
index 174ca81..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.xtend
+++ /dev/null
@@ -1,23 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.uml2.uml.MultiplicityElement
-
-class multiplicityScript {
-	def public static genMultiplicity(MultiplicityElement multiplicityElement) '''
-		«IF (multiplicityElement.upper == -1)»
-			[]
-		«ELSEIF (multiplicityElement.upper > 1)» 
-			[«multiplicityElement.upper.toString()»]
-		«ENDIF»'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class
deleted file mode 100644
index 142f304..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend
deleted file mode 100644
index 3152c5f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.xtend
+++ /dev/null
@@ -1,29 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.uml2.uml.Type
-
-class typeScript {
-	def public static genIntegerType(Type type) {
-		'''int'''
-	}
-
-	def public static genStringType(Type type) {
-		'''char*'''
-	}
-
-
-	def public static genBooleanType(Type type) {
-		'''/*bool*/ char'''
-	}
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class
deleted file mode 100644
index a34120c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend
deleted file mode 100644
index d707635..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.xtend
+++ /dev/null
@@ -1,44 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.uml2.uml.InstanceValue
-import org.eclipse.uml2.uml.ValueSpecification
-import org.eclipse.uml2.uml.EnumerationLiteral
-import org.eclipse.uml2.uml.Expression
-
-class valueSpecificationScript {
-	def public static ValueSpecificationTemplate(ValueSpecification valueSpecification) '''
-		«valueSpecification.stringValue()»
-	'''
-
-
-	def public static ValueSpecificationTemplate(InstanceValue instanceValue) '''
-		«IF (instanceValue.instance instanceof EnumerationLiteral)»
-			«FOR slot : instanceValue.instance.slots»
-				«FOR value : slot.values» «value.ValueSpecificationTemplate»
-				«ENDFOR»
-			«ENDFOR»{
-			«FOR slot : instanceValue.instance.slots»
-				«slot.definingFeature.name.toUpperCase()» = «FOR value : slot.values» «value.ValueSpecificationTemplate» «ENDFOR»;
-			«ENDFOR»
-			}
-		«ELSE»
-			«instanceValue.instance.name»
-		«ENDIF»
-	'''
-
-
-	def public static ValueSpecificationTemplate(Expression expression) '''
-		
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class
deleted file mode 100644
index 55cdab9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend
deleted file mode 100644
index fe8a5c6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.xtend
+++ /dev/null
@@ -1,106 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.lib
-
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Const
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.Ptr
-import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.StorageClass
-import org.eclipse.uml2.uml.Property
-import org.eclipse.uml2.uml.Type
-import org.eclipse.uml2.uml.TypedElement
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.multiplicityScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.typeScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.valueSpecificationScript.*
-import static extension org.eclipse.papyrus.designer.languages.common.base.GenUtils.*
-import static extension org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication
-
-class variableScript {
-	def public static genVariableDeclaration(Property property) '''
-		«FOR comment : property.ownedComments»
-			«comment.genComment»
-		«ENDFOR»
-		«property.genDeclarator»«property.genType»«property.genPointer» «property.genName»«property.genMultiplicity»«IF (property.defaultValue != null && property.isStatic)» «property.genDefaultValue()» «ENDIF»;
-	'''
-
-
-	def public static genDefaultValue(Property property) '''
-		«IF (property.defaultValue != null)»
-		  = «IF (property.upper != 1)»{ «property.defaultValue.ValueSpecificationTemplate()» }
-			«ELSE»«property.defaultValue.ValueSpecificationTemplate()»
-			«ENDIF»
-		«ENDIF»
-	'''
-
-
-	def public static genType(TypedElement typedElement) { '''
-		«IF (typedElement.type == null)»
-			void *
-		«ELSE»
-			«typedElement.type.genCTypeName»
-		«ENDIF»
-		'''.toString.trim()
-	}
-
-
-	def public static genCTypeName(Type type) '''
-		«IF (type == null || type.name == null)»
-			undefined
-		«ELSEIF (type.name.toLowerCase == 'boolean') || (type.name.toLowerCase == 'bool')»
-			«type.genBooleanType»
-		«ELSEIF (type.name.toLowerCase == 'integer')»
-			«type.genIntegerType»
-		«ELSEIF (type.name.toLowerCase == 'string')»
-			«type.genStringType»
-		«ELSE»
-			«type.name»
-		«ENDIF»'''
-
-
-	def public static genDeclarator(TypedElement typedElement) '''
-		«typedElement.genStorageClass()» «typedElement.genConstant»
-	'''
-
-
-	def public static genStorageClass(TypedElement typedElement) '''
-		«IF (typedElement.hasStereotype(StorageClass))»
-			«typedElement.getStereotypeApplication(StorageClass).storageClass.toString»
-		«ENDIF»
-		
-	'''
-
-
-	def public static genConstant(TypedElement typedElement) '''
-		«IF (typedElement.hasStereotype(Const))»const «ENDIF»
-	'''
-
-
-	def public static genPointer(TypedElement typedElement) '''
-		«IF (typedElement.hasStereotype(Ptr))»* «ENDIF»
-	'''
-
-
-	def public static genPointer(Property property) {
-		'''«IF (property.hasStereotype(Ptr))»* «ENDIF»'''
-	}
-
-
-	def public static genInitDefaultValue(Property property) '''
-		«IF (property.upper == 1)»
-			self->«property.genName» «property.genDefaultValue»;
-		«ELSE»
-			«property.genType» tmp_«property.genName»«property.genMultiplicity» «property.genDefaultValue»;
-			self->«property.genName»«'«'»0«'»'» = tmp_«property.genName()»;
-		«ENDIF»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/.classModuleScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/.classModuleScript.java._trace
deleted file mode 100644
index 3ad7f8d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/.classModuleScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/.commonModuleScript.java._trace b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/.commonModuleScript.java._trace
deleted file mode 100644
index 1e5e2db..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/.commonModuleScript.java._trace
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$1.class
deleted file mode 100644
index f9fecda..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$2.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$2.class
deleted file mode 100644
index 1d9c668..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$2.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$3.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$3.class
deleted file mode 100644
index 1c510f1..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript$3.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class
deleted file mode 100644
index 3e9ada0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend
deleted file mode 100644
index f780ce8..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.xtend
+++ /dev/null
@@ -1,103 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.module
-
-import org.eclipse.uml2.uml.Class
-import org.eclipse.uml2.uml.VisibilityKind
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.classScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.functionScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.variableScript.*
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.services.UmlCommentServices.*
-
-class classModuleScript {
-	def public static classModuleScript(Class clazz) '''
-		// This template is called by the main module file 
-		«clazz.genHeading()»
-		
-		// include of the self header
-		«clazz.genIncludeSelf()»
-		
-		//  Generate import of class ---------------------------------------------
-		/* "startUserCode" to add imports */
-		/* "endUserCode"   to add imports */
-		
-		«clazz.genModuleDeclarationBody()»
-		«clazz.genModuleImplementationBody()»
-	'''
-
-
-	def public static genModuleDeclarationBody(Class clazz) '''
-		«IF (clazz.visibility != VisibilityKind.PUBLIC_LITERAL)»
-			«clazz.partComment('Private Class Description')»
-			// Structure 
-			«clazz.genClassStructDeclarations()»
-				
-			// Constructor and destructor declarations 
-			«clazz.genDynamicInstanciationOperationPrototypes()»
-			
-			// Property initialisation declarations
-			«clazz.genDefaultInitialisationProtoype()»
-			
-			// Class methods declarations
-			«clazz.genNonStaticFunctionDeclarations()»
-		«ENDIF»
-		
-		// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-		«IF (clazz.ownedAttributes.filter[isStatic && visibility != VisibilityKind.PUBLIC_LITERAL && type != null].size > 0)»
-			«clazz.partComment('Private/Protected Global Variable Declarations')»
-		«ENDIF»
-		«FOR attribute : clazz.ownedAttributes»
-			«IF (attribute.isStatic && attribute.visibility != VisibilityKind.PUBLIC_LITERAL && attribute.type != null)»
-				// global variable declaration
-				«attribute.genVariableDeclaration()»
-			«ENDIF»
-		«ENDFOR»
-
-		// ----------------------------------Private and Protected Class Functions----------------------------------
-		«IF (clazz.ownedOperations.filter[!isStatic && namespace.visibility == VisibilityKind.PUBLIC_LITERAL && visibility == VisibilityKind.PUBLIC_LITERAL].size > 0)»
-			«clazz.partComment('Private/Protected Function Declarations')»
-		«ENDIF»
-		«FOR operation : clazz.ownedOperations»
-			«IF (!operation.isStatic && operation.namespace.visibility == VisibilityKind.PUBLIC_LITERAL && operation.visibility != VisibilityKind.PUBLIC_LITERAL)»
-				«operation.genFunctionPrototype()»
-			«ENDIF»
-		«ENDFOR»
-		
-		// ----------------------------------Private and Protected Global Functions----------------------------------
-		«IF (clazz.getAllOperations.filter[isStatic && visibility == VisibilityKind.PUBLIC_LITERAL].size > 0)»
-			«clazz.partComment('Private/Protected Global Function Declarations')»
-		«ENDIF»
-		«FOR operation : clazz.getAllOperations»
-			«IF (operation.isStatic &&  operation.visibility != VisibilityKind.PUBLIC_LITERAL)»
-				«operation.genFunctionPrototype()»
-			«ENDIF»
-		«ENDFOR»
-	'''
-
-
-	def public static genModuleImplementationBody(Class clazz) '''
-		
-		// ----------------------------------Implementation of the class constructor and destructor----------
-		«clazz.genDynamicInstanciationOperations()»
-		
-		// ----------------------------------Initialisation function implementation----------------------------------
-		«clazz.genDefaultIntialisationOperation()»
-		
-		// ----------------------------------Function Implementation----------------------------------
-		«clazz.partComment('Function Implementation')»
-		«FOR operation : clazz.getAllOperations»
-			«operation.genFunctionImplementation()»
-		«ENDFOR»
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class
deleted file mode 100644
index 6d3166a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend
deleted file mode 100644
index 898cbd8..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.xtend
+++ /dev/null
@@ -1,27 +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:
- *     CEA LIST - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.designer.languages.c.codegen.module
-
-import static extension org.eclipse.papyrus.designer.languages.c.codegen.lib.commonScript.genName
-import org.eclipse.uml2.uml.NamedElement
-
-class commonModuleScript {
-	def public static genHeadingModule(NamedElement namedElement) '''
-		#ifndef «(namedElement.genName() as String).toUpperCase()»_C_
-		#define «(namedElement.genName() as String).toUpperCase()»_C_
-	'''
-
-
-	def public static genEndModule(NamedElement namedElement) '''
-		#endif /*«(namedElement.genName() as String).toUpperCase()»_C_*/
-	'''
-}
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class
deleted file mode 100644
index f67c443..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class
deleted file mode 100644
index f37d442..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class
deleted file mode 100644
index 3258b8a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class
deleted file mode 100644
index f5661aa..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class
deleted file mode 100644
index 486a74c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class
deleted file mode 100644
index c48df6d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class
deleted file mode 100644
index 3fb44da..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class
deleted file mode 100644
index 9d28f7c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class
deleted file mode 100644
index 19dd032..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class
deleted file mode 100644
index 86670b7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class
deleted file mode 100644
index 0f08b34..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class
deleted file mode 100644
index c2eea1c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class
deleted file mode 100644
index 7b9c95a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class
deleted file mode 100644
index 9465a68..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class
deleted file mode 100644
index 54c20a1..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/messages.properties b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/messages.properties
deleted file mode 100644
index b2b1f38..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/transformation/messages.properties
+++ /dev/null
@@ -1 +0,0 @@
-CModelElementsCreator_CanNotFormatContent=Can not format content
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class
deleted file mode 100644
index bc20583..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class
deleted file mode 100644
index 2c4d770..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class
deleted file mode 100644
index b535a10..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/messages.properties b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/messages.properties
deleted file mode 100644
index d9c697f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/utils/messages.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-LocateCProject_ApplyCNatureTitle=Need to apply C nature
-LocateCProject_ApplyCNatureDesc=Code generation requires that the underlying project has a C nature. Do you want to apply this nature?
-LocateCProject_CreateTargetProjectDesc=Code generation needs to create a CDT project called "%s". Do you want to do this?
-LocateCProject_CreateTargetProjectTitle=Target project does not exist
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class
deleted file mode 100644
index ef6314a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class
deleted file mode 100644
index ce00705..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class
deleted file mode 100644
index 955beb6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class
deleted file mode 100644
index 5390fd2..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class
deleted file mode 100644
index 3182435..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class
deleted file mode 100644
index 97c7de0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class
deleted file mode 100644
index 7350b04..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class
deleted file mode 100644
index 5e20afb..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class
deleted file mode 100644
index bde86a7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class
deleted file mode 100644
index df47319..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class
deleted file mode 100644
index 0a1fd29..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class
deleted file mode 100644
index e1c5763..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class
deleted file mode 100644
index 9f324f7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class
deleted file mode 100644
index 8d1c94e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class
deleted file mode 100644
index 4a82f9e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class
deleted file mode 100644
index d116bb6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class
deleted file mode 100644
index fe1bd83..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class
deleted file mode 100644
index 41201a9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class
deleted file mode 100644
index af0fc7a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class
deleted file mode 100644
index 39c6af4..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class
deleted file mode 100644
index 794c1a2..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class
deleted file mode 100644
index e2f3c61..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class
deleted file mode 100644
index 19478f3..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class
deleted file mode 100644
index 3be4207..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class
deleted file mode 100644
index 066653c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class
deleted file mode 100644
index 02d67ed..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class
deleted file mode 100644
index 2db454d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class
deleted file mode 100644
index 5988cea..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class
deleted file mode 100644
index de705a7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class
deleted file mode 100644
index 6a582f1..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class
deleted file mode 100644
index d8d24e3..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class
deleted file mode 100644
index fe880fb..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class
deleted file mode 100644
index 374b4f9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class
deleted file mode 100644
index a6a6ef6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class
deleted file mode 100644
index 733598c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class
deleted file mode 100644
index 31f6285..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class
deleted file mode 100644
index 073241f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73307562311290/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class
deleted file mode 100644
index ef6314a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/Activator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class
deleted file mode 100644
index ce00705..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/CLangCodegen.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class
deleted file mode 100644
index 955beb6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class
deleted file mode 100644
index 5390fd2..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class
deleted file mode 100644
index 3182435..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class
deleted file mode 100644
index 97c7de0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class
deleted file mode 100644
index 7350b04..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class
deleted file mode 100644
index 5e20afb..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class
deleted file mode 100644
index bde86a7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class
deleted file mode 100644
index df47319..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class
deleted file mode 100644
index 0a1fd29..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class
deleted file mode 100644
index e1c5763..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class
deleted file mode 100644
index 9f324f7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class
deleted file mode 100644
index 8d1c94e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class
deleted file mode 100644
index 4a82f9e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class
deleted file mode 100644
index d116bb6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class
deleted file mode 100644
index fe1bd83..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class
deleted file mode 100644
index 41201a9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class
deleted file mode 100644
index af0fc7a..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class
deleted file mode 100644
index 39c6af4..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenConstants.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class
deleted file mode 100644
index 794c1a2..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenPreferenceInitializer.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class
deleted file mode 100644
index e2f3c61..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/preferences/CCodeGenUtils.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class
deleted file mode 100644
index 19478f3..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/DateUtils.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class
deleted file mode 100644
index 3be4207..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/StringServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class
deleted file mode 100644
index 066653c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlAssociationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class
deleted file mode 100644
index 02d67ed..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlClassServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class
deleted file mode 100644
index 2db454d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlCommentServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class
deleted file mode 100644
index 5988cea..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlDataTypeServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class
deleted file mode 100644
index de705a7..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlInstanceSpecificationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class
deleted file mode 100644
index 6a582f1..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlOperationServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class
deleted file mode 100644
index d8d24e3..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/services/UmlPackageServices.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class
deleted file mode 100644
index fe880fb..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CModelElementsCreator.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class
deleted file mode 100644
index 374b4f9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/CppLocationStrategy.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class
deleted file mode 100644
index a6a6ef6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/transformation/Messages.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class
deleted file mode 100644
index 733598c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject$1.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class
deleted file mode 100644
index 31f6285..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/LocateCProject.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class
deleted file mode 100644
index 073241f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/classes73617185198978/org/eclipse/papyrus/designer/languages/c/codegen/utils/Messages.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.java
deleted file mode 100644
index 673d304..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.doxygen;
-public class doxyfileScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.java
deleted file mode 100644
index 9f87bc6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.header;
-public class classHeaderScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.java
deleted file mode 100644
index ce2a98f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.header;
-public class commonHeaderScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.java
deleted file mode 100644
index 3b85d3c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.header;
-public class dataTypeHeaderScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.java
deleted file mode 100644
index 075f945..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class classScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.java
deleted file mode 100644
index a648d48..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class commentScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.java
deleted file mode 100644
index e104731..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class commonScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.java
deleted file mode 100644
index bda83e0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class dataTypeScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.java
deleted file mode 100644
index 743a94e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class functionScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.java
deleted file mode 100644
index 906e833..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class importScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.java
deleted file mode 100644
index bc3789d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class interfaceScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.java
deleted file mode 100644
index 9916e91..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class multiplicityScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.java
deleted file mode 100644
index 5c01af0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class typeScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.java
deleted file mode 100644
index 5752d31..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class valueSpecificationScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.java
deleted file mode 100644
index 35a657f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class variableScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.java
deleted file mode 100644
index 8dade28..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.module;
-public class classModuleScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.java
deleted file mode 100644
index 61095be..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73307640173687/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.module;
-public class commonModuleScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.java
deleted file mode 100644
index 673d304..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/doxygen/doxyfileScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.doxygen;
-public class doxyfileScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.java
deleted file mode 100644
index 9f87bc6..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/classHeaderScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.header;
-public class classHeaderScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.java
deleted file mode 100644
index ce2a98f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/commonHeaderScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.header;
-public class commonHeaderScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.java
deleted file mode 100644
index 3b85d3c..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/header/dataTypeHeaderScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.header;
-public class dataTypeHeaderScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.java
deleted file mode 100644
index 075f945..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/classScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class classScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.java
deleted file mode 100644
index a648d48..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/commentScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class commentScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.java
deleted file mode 100644
index e104731..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/commonScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class commonScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.java
deleted file mode 100644
index bda83e0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/dataTypeScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class dataTypeScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.java
deleted file mode 100644
index 743a94e..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/functionScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class functionScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.java
deleted file mode 100644
index 906e833..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/importScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class importScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.java
deleted file mode 100644
index bc3789d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/interfaceScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class interfaceScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.java
deleted file mode 100644
index 9916e91..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/multiplicityScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class multiplicityScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.java
deleted file mode 100644
index 5c01af0..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/typeScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class typeScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.java
deleted file mode 100644
index 5752d31..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/valueSpecificationScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class valueSpecificationScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.java
deleted file mode 100644
index 35a657f..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/lib/variableScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.lib;
-public class variableScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.java
deleted file mode 100644
index 8dade28..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/module/classModuleScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.module;
-public class classModuleScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.java b/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.java
deleted file mode 100644
index 61095be..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.codegen/target/xtend/stubs73617254840816/org/eclipse/papyrus/designer/languages/c/codegen/module/commonModuleScript.java
+++ /dev/null
@@ -1,2 +0,0 @@
-package org.eclipse.papyrus.designer.languages.c.codegen.module;
-public class commonModuleScript{}
\ No newline at end of file
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/META-INF/MANIFEST.MF b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/META-INF/MANIFEST.MF
index 6109346..188e021 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/META-INF/MANIFEST.MF
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/META-INF/MANIFEST.MF
@@ -20,10 +20,10 @@
  org.eclipse.papyrus.designer.languages.common.base
 Export-Package: org.eclipse.papyrus.designer.languages.c.codegen.tests
 Bundle-Vendor: %providerName
-Bundle-Version: 0.7.1.qualifier
+Bundle-Version: 0.8.1.qualifier
 Bundle-Name: %pluginName
 Bundle-ManifestVersion: 2
 Bundle-Activator: org.eclipse.papyrus.designer.languages.c.codegen.tests.TestPlugin
 Bundle-SymbolicName: org.eclipse.papyrus.designer.languages.c.codegen.tests
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Localization: plugin
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.c
index 498ec34..71e4d30 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.c
@@ -1,44 +1,50 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class1 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class1.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-/*
- *------Private/Protected Function Declarations-----
- */
-
-// ----------------------------------Private and Protected Global Functions----------------------------------
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-
-// ----------------------------------Initialisation function implementation----------------------------------
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-void Class1__Class1(Class1 *self) {
-
-}
-
-void Class1_Class1(Class1 cSource, Class1 *self) {
-	self->iVal = cSource.iVal;
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class1 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class1.h"
+// Derived includes
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+/*
+ *------Private/Protected Function Declarations-----
+ */
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+
+// ----------------------------------Initialization functions implementation----------------------------------
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * Destructor
+ */
+void Class1__Class1(Class1 *self) {
+
+}
+
+/**
+ * Copy constructor
+ */
+void Class1_Class1(Class1 cSource, Class1 *self) {
+
+	self->iVal = cSource.iVal;
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.h
index 650fc3f..578358d 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class1.h
@@ -1,60 +1,75 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class1 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS1_H_
-#define CLASS1_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class1(OBJ) ((Class1*)OBJ)
-
-typedef struct Class1 Class1;
-
-struct Class1 {
-
-	int /* private */iVal;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-
-// Property initialisation declarations
-// Class methods declarations
-/*
- *---------------Function Declarations--------------
- */
-void
-Class1__Class1(Class1 *self);
-
-void
-Class1_Class1(Class1 cSource, Class1 *self);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS1_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class1 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS1_H_
+#define CLASS1_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class1(OBJ) ((Class1*)OBJ)
+
+typedef struct Class1 Class1;
+
+struct Class1 {
+
+	int /* private */iVal;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+
+// Property initialisation declarations
+// Class methods declarations
+/*
+ *---------------Function Declarations--------------
+ */
+/**
+ * 
+ */
+void
+Class1__Class1(Class1 *self);
+
+/**
+ * 
+ */
+void
+Class1_Class1(struct Class1 cSource, struct Class1 *self);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS1_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.c
index 253ab65..d3ecfcb 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.c
@@ -1,90 +1,145 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class2 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class2.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-/*
- *------Private/Protected Function Declarations-----
- */
-
-// ----------------------------------Private and Protected Global Functions----------------------------------
-/*
- *---Private/Protected Global Function Declarations--
- */
-
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-
-// ----------------------------------Initialisation function implementation----------------------------------
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-void Class2_Class2_1(Class2 *self) {
-	self->iVal1 = 0;
-	self->iVal2 = 0;
-	self->bVal = 'f';
-}
-
-void Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal,
-		Class2 *self) {
-	self->iVal1 = newIVal1;
-	self->iVal2 = newIVal2;
-	self->bVal = newBVal;
-}
-
-double Class2_virtualOp(Class2 *self, double a, double b) {
-}
-
-void staticOp(void) {
-}
-
-int Class2_inlineOp(Class2 *self, int a, int b) {
-	return a + b;
-}
-
-void Class2_friendOp(Class2 *self) {
-}
-
-void Class2_nonStaticOp(Class2 *self) {
-}
-
-int Class2_paramsOp(Class2 *self, int in, int out, int inout) {
-}
-
-void Class2_voidOp(Class2 *self) {
-}
-
-void Class2_defaultValueOp(Class2 *self, int newIVal1) {
-}
-
-void Class2__Class2(Class2 *self) {
-}
-
-Class1*
-Class2_classesOp(Class2 *self, Class1 c1) {
-}
-
-const
-void Class2_constOp(Class2 *self) {
-	printf("I am a const method\n");
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class2 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class2.h"
+// Derived includes
+#include "Class1.h"
+// Include from Include stereotype (body)
+#include <Class1.h>
+// End of Include from Include stereotype (body)
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+/*
+ *------Private/Protected Function Declarations-----
+ */
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+/*
+ *---Private/Protected Global Function Declarations--
+ */
+
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+
+// ----------------------------------Initialization functions implementation----------------------------------
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * Default constructor
+ */
+void Class2_Class2_1(Class2 *self) {
+
+	self->iVal1 = 0;
+	self->iVal2 = 0;
+	self->bVal = 'f';
+}
+
+/**
+ * Constructor with parameters
+ */
+void Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal,
+		Class2 *self) {
+
+	self->iVal1 = newIVal1;
+	self->iVal2 = newIVal2;
+	self->bVal = newBVal;
+}
+
+/**
+ * Virtual method
+ */
+double Class2_virtualOp(Class2 *self, double a, double b) {
+
+}
+
+/**
+ * Static method
+ */
+void staticOp(void) {
+
+}
+
+/**
+ * Inline method
+ */
+int Class2_inlineOp(Class2 *self, int a, int b) {
+
+	return a + b;
+}
+
+/**
+ * Friend method
+ */
+void Class2_friendOp(Class2 *self) {
+
+}
+
+/**
+ * Non-static method
+ */
+void Class2_nonStaticOp(Class2 *self) {
+
+}
+
+/**
+ * Method with in, out, inout, return parameters
+ */
+int Class2_paramsOp(Class2 *self, int in, int out, int inout) {
+
+}
+
+/**
+ * Void Method
+ */
+void Class2_voidOp(Class2 *self) {
+
+}
+
+/**
+ * 
+ */
+void Class2_defaultValueOp(Class2 *self, int newIVal1) {
+
+}
+
+/**
+ * Virtual destructor
+ */
+void Class2__Class2(Class2 *self) {
+
+}
+
+/**
+ * 
+ */
+Class1*
+Class2_classesOp(Class2 *self, Class1 c1) {
+
+}
+
+/**
+ * Const method
+ */
+const
+void Class2_constOp(Class2 *self) {
+
+	printf("I am a const method\n");
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.h
index d683cb9..57a2116 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class2.h
@@ -1,102 +1,154 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class2 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS2_H_
-#define CLASS2_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-#include <Class1.h>
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class2(OBJ) ((Class2*)OBJ)
-
-typedef struct Class2 Class2;
-
-struct Class2 {
-
-	/*bool*/
-	char bVal;
-
-	int /* protected */iVal1;
-
-	int /* private */iVal2;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-
-// Property initialisation declarations
-// Class methods declarations
-/*
- *---------------Function Declarations--------------
- */
-void
-Class2_Class2_1(Class2 *self);
-
-void
-Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal, Class2 *self);
-
-double
-Class2_virtualOp(Class2 *self, double a, double b);
-
-int
-Class2_inlineOp(Class2 *self, int a, int b);
-
-void
-Class2_friendOp(Class2 *self);
-
-void
-Class2_nonStaticOp(Class2 *self);
-
-int
-Class2_paramsOp(Class2 *self, int in, int out, int inout);
-
-void
-Class2_voidOp(Class2 *self);
-
-void
-Class2_defaultValueOp(Class2 *self, int newIVal1);
-
-void
-Class2__Class2(Class2 *self);
-
-Class1*
-Class2_classesOp(Class2 *self, Class1 c1);
-
-const
-void
-Class2_constOp(Class2 *self);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-/*
- *--------Global Public Function Declarations-------
- */
-void
-staticOp(void);
-
-#endif /*CLASS2_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class2 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS2_H_
+#define CLASS2_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+struct Class1;
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class2(OBJ) ((Class2*)OBJ)
+
+typedef struct Class2 Class2;
+
+struct Class2 {
+	/**
+	 * 
+	 */
+
+	/*bool*/
+	char bVal;
+	/**
+	 * 
+	 */
+
+	int /* protected */iVal1;
+	/**
+	 * 
+	 */
+
+	int /* private */iVal2;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+
+// Property initialisation declarations
+// Class methods declarations
+/*
+ *---------------Function Declarations--------------
+ */
+/**
+ * 
+ */
+void
+Class2_Class2_1(struct Class2 *self);
+
+/**
+ * 
+ */
+void
+Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal,
+		struct Class2 *self);
+
+/**
+ * 
+ */
+double
+Class2_virtualOp(Class2 *self, double a, double b);
+
+/**
+ * 
+ */
+int
+Class2_inlineOp(Class2 *self, int a, int b);
+
+/**
+ * 
+ */
+void
+Class2_friendOp(Class2 *self);
+
+/**
+ * 
+ */
+void
+Class2_nonStaticOp(Class2 *self);
+
+/**
+ * 
+ */
+int
+Class2_paramsOp(Class2 *self, int in, int out, int inout);
+
+/**
+ * 
+ */
+void
+Class2_voidOp(Class2 *self);
+
+void
+Class2_defaultValueOp(Class2 *self, int newIVal1);
+
+/**
+ * 
+ */
+void
+Class2__Class2(Class2 *self);
+
+struct Class1*
+Class2_classesOp(Class2 *self, struct Class1 c1);
+
+/**
+ * 
+ */
+const
+void
+Class2_constOp(Class2 *self);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+/*
+ *--------Global Public Function Declarations-------
+ */
+/**
+ * 
+ */
+void
+staticOp(void);
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS2_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.c
index deb7da6..4f3dba4 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.c
@@ -1,100 +1,166 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class3 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class3.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-/*
- *------Private/Protected Function Declarations-----
- */
-
-// ----------------------------------Private and Protected Global Functions----------------------------------
-/*
- *---Private/Protected Global Function Declarations--
- */
-
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-
-// ----------------------------------Initialisation function implementation----------------------------------
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-double Class3_virtualOp(Class3 *self, double a, double b) {
-	return a + b;
-}
-
-void Class3__Class3(Class3 *self) {
-}
-
-void Class3_Class3() {
-}
-
-void Class2_Class2_1(Class2 *self) {
-	self->iVal1 = 0;
-	self->iVal2 = 0;
-	self->bVal = 'f';
-}
-
-void Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal,
-		Class2 *self) {
-	self->iVal1 = newIVal1;
-	self->iVal2 = newIVal2;
-	self->bVal = newBVal;
-}
-
-double Class2_virtualOp(Class2 *self, double a, double b) {
-}
-
-void staticOp(void) {
-}
-
-int Class2_inlineOp(Class2 *self, int a, int b) {
-	return a + b;
-}
-
-void Class2_friendOp(Class2 *self) {
-}
-
-void Class2_nonStaticOp(Class2 *self) {
-}
-
-int Class2_paramsOp(Class2 *self, int in, int out, int inout) {
-}
-
-void Class2_voidOp(Class2 *self) {
-}
-
-void Class2_defaultValueOp(Class2 *self, int newIVal1) {
-}
-
-void Class2__Class2(Class2 *self) {
-}
-
-Class1*
-Class2_classesOp(Class2 *self, Class1 c1) {
-}
-
-const
-void Class2_constOp(Class2 *self) {
-	printf("I am a const method\n");
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class3 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class3.h"
+// Derived includes
+// Include from Include stereotype (body)
+#include <CLass2.h>
+// End of Include from Include stereotype (body)
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+/*
+ *------Private/Protected Function Declarations-----
+ */
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+/*
+ *---Private/Protected Global Function Declarations--
+ */
+
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+
+// ----------------------------------Initialization functions implementation----------------------------------
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * Inherited method overriding.
+ */
+double Class3_virtualOp(Class3 *self, double a, double b) {
+
+	return a + b;
+}
+
+/**
+ * Inherited virtual destructor
+ */
+void Class3__Class3(Class3 *self) {
+
+}
+
+/**
+ * Default constructor
+ */
+void Class3_Class3() {
+
+}
+
+/**
+ * Default constructor
+ */
+void Class2_Class2_1(Class2 *self) {
+
+	self->iVal1 = 0;
+	self->iVal2 = 0;
+	self->bVal = 'f';
+}
+
+/**
+ * Constructor with parameters
+ */
+void Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal,
+		Class2 *self) {
+
+	self->iVal1 = newIVal1;
+	self->iVal2 = newIVal2;
+	self->bVal = newBVal;
+}
+
+/**
+ * Virtual method
+ */
+double Class2_virtualOp(Class2 *self, double a, double b) {
+
+}
+
+/**
+ * Static method
+ */
+void staticOp(void) {
+
+}
+
+/**
+ * Inline method
+ */
+int Class2_inlineOp(Class2 *self, int a, int b) {
+
+	return a + b;
+}
+
+/**
+ * Friend method
+ */
+void Class2_friendOp(Class2 *self) {
+
+}
+
+/**
+ * Non-static method
+ */
+void Class2_nonStaticOp(Class2 *self) {
+
+}
+
+/**
+ * Method with in, out, inout, return parameters
+ */
+int Class2_paramsOp(Class2 *self, int in, int out, int inout) {
+
+}
+
+/**
+ * Void Method
+ */
+void Class2_voidOp(Class2 *self) {
+
+}
+
+/**
+ * 
+ */
+void Class2_defaultValueOp(Class2 *self, int newIVal1) {
+
+}
+
+/**
+ * Virtual destructor
+ */
+void Class2__Class2(Class2 *self) {
+
+}
+
+/**
+ * 
+ */
+Class1*
+Class2_classesOp(Class2 *self, Class1 c1) {
+
+}
+
+/**
+ * Const method
+ */
+const
+void Class2_constOp(Class2 *self) {
+
+	printf("I am a const method\n");
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.h
index 7c59b70..64cbc26 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class3.h
@@ -1,104 +1,160 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class3 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS3_H_
-#define CLASS3_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-#include <CLass2.h>
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class3(OBJ) ((Class3*)OBJ)
-
-typedef struct Class3 Class3;
-
-struct Class3 {
-
-	/*bool*/
-	char bVal;
-
-	int /* protected */iVal1;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-
-// Property initialisation declarations
-// Class methods declarations
-/*
- *---------------Function Declarations--------------
- */
-double
-Class3_virtualOp(Class3 *self, double a, double b);
-
-void
-Class3__Class3(Class3 *self);
-
-void
-Class3_Class3();
-
-void
-Class2_Class2_1(Class2 *self);
-
-void
-Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal, Class2 *self);
-
-double
-Class2_virtualOp(Class2 *self, double a, double b);
-
-int
-Class2_inlineOp(Class2 *self, int a, int b);
-
-void
-Class2_friendOp(Class2 *self);
-
-void
-Class2_nonStaticOp(Class2 *self);
-
-int
-Class2_paramsOp(Class2 *self, int in, int out, int inout);
-
-void
-Class2_voidOp(Class2 *self);
-
-void
-Class2_defaultValueOp(Class2 *self, int newIVal1);
-
-void
-Class2__Class2(Class2 *self);
-
-Class1*
-Class2_classesOp(Class2 *self, Class1 c1);
-
-const
-void
-Class2_constOp(Class2 *self);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS3_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class3 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS3_H_
+#define CLASS3_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+#include "Class2.h"
+// End of Derived includes
+
+// Derived declares
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class3(OBJ) ((Class3*)OBJ)
+
+typedef struct Class3 Class3;
+
+struct Class3 {
+	/**
+	 * 
+	 */
+
+	/*bool*/
+	char bVal;
+	/**
+	 * 
+	 */
+
+	int /* protected */iVal1;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+
+// Property initialisation declarations
+// Class methods declarations
+/*
+ *---------------Function Declarations--------------
+ */
+/**
+ * 
+ */
+double
+Class3_virtualOp(Class3 *self, double a, double b);
+
+/**
+ * 
+ */
+void
+Class3__Class3(Class3 *self);
+
+/**
+ * 
+ */
+void
+Class3_Class3();
+
+/**
+ * 
+ */
+void
+Class2_Class2_1(struct Class2 *self);
+
+/**
+ * 
+ */
+void
+Class2_Class2(int newIVal1, int newIVal2, /*bool*/char newBVal,
+		struct Class2 *self);
+
+/**
+ * 
+ */
+double
+Class2_virtualOp(Class2 *self, double a, double b);
+
+/**
+ * 
+ */
+int
+Class2_inlineOp(Class2 *self, int a, int b);
+
+/**
+ * 
+ */
+void
+Class2_friendOp(Class2 *self);
+
+/**
+ * 
+ */
+void
+Class2_nonStaticOp(Class2 *self);
+
+/**
+ * 
+ */
+int
+Class2_paramsOp(Class2 *self, int in, int out, int inout);
+
+/**
+ * 
+ */
+void
+Class2_voidOp(Class2 *self);
+
+void
+Class2_defaultValueOp(Class2 *self, int newIVal1);
+
+/**
+ * 
+ */
+void
+Class2__Class2(Class2 *self);
+
+struct Class1*
+Class2_classesOp(Class2 *self, struct Class1 c1);
+
+/**
+ * 
+ */
+const
+void
+Class2_constOp(Class2 *self);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS3_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.c
index 2153629..1635c9c 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.c
@@ -1,46 +1,52 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class4 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class4.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-// ----------------------------------Private and Protected Global Functions----------------------------------
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-Class4* Class4_create() {
-	Class4* self = (Class4*) malloc(sizeof(Class4));
-	return self;
-}
-// default destructor
-void Class4_destroy(Class4* self) {
-	free(self);
-}
-
-// ----------------------------------Initialisation function implementation----------------------------------
-/*
- *----Default value initialization implementation---
- */
-void Class4_init(Class4* self) {
-}
-
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class4 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class4.h"
+// Derived includes
+#include "Class3.h"
+// Include from Include stereotype (body)
+#include <Class3.h>
+// End of Include from Include stereotype (body)
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+Class4* Class4_create() {
+	Class4 *self = (Class4*) malloc(sizeof(Class4));
+	Class4_init(self);
+	return self;
+}
+// default destructor
+void Class4_destroy(Class4 *self) {
+	free(self);
+}
+
+// ----------------------------------Initialization functions implementation----------------------------------
+
+void Class4_init(Class4 *self) {
+
+}
+
+// ----------------------------------Functions Implementation----------------------------------
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.h
index 3d6da75..6460b5a 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class4.h
@@ -1,114 +1,123 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class4 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS4_H_
-#define CLASS4_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-#include <Class3.h>
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class4(OBJ) ((Class4*)OBJ)
-
-typedef struct Class4 Class4;
-
-struct Class4 {
-
-	Class3* c3;
-
-	char charVar;
-
-	double doubleVar;
-
-	float floatVar;
-
-	int intVar;
-
-	long longVar;
-
-	long double longDoubleVar;
-
-	short shortVar;
-
-	unsigned int unsignedIntVar;
-
-	unsigned short unsignedShortVar;
-
-	unsigned char unsignedCharVar;
-
-	unsigned long unsignedLongVar;
-
-	/*bool*/
-	char boolVar;
-
-	double arrayDoubleDefault;
-
-	char arrayCharInit;
-
-	char* charString;
-
-	char* ptrChar;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-/**
- * Dynamic instantiation of a Class4 structure
- * @return Class4 instance pointer
- */
-Class4* Class4_create();
-
-/**
- * Dynamic destruction of a Class4 structure instantiation
- * @param Pointer to an instance of the Class4 structure
- * @return void
- */
-void Class4_destroy(Class4*);
-
-// Property initialisation declarations
-/*
- *------Default value initialization prototypes-----
- */
-/**
- * Default value initialization
- * @param Class4 structure instance pointer
- * @return void
- */
-void Class4_init(Class4* self);
-
-// Class methods declarations
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-/*
- *--------Global Public Variable Declarations-------
- */
-// global variable declaration
-char* charStringStaticInit = "Hello World";
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS4_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class4 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS4_H_
+#define CLASS4_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+struct Class3;
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class4(OBJ) ((Class4*)OBJ)
+
+typedef struct Class4 Class4;
+
+struct Class4 {
+
+	struct Class3 *c3;
+
+	char charVar;
+
+	double doubleVar;
+
+	float floatVar;
+
+	int intVar;
+
+	long longVar;
+
+	long double longDoubleVar;
+
+	short shortVar;
+
+	unsigned int unsignedIntVar;
+
+	unsigned short unsignedShortVar;
+
+	unsigned char unsignedCharVar;
+
+	unsigned long unsignedLongVar;
+
+	/*bool*/
+	char boolVar;
+
+	double arrayDoubleDefault;
+
+	char arrayCharInit;
+
+	char *charString;
+
+	char *ptrChar;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+/**
+ * Dynamic instantiation of a Class4 structure
+ * @return Class4 instance pointer
+ */
+Class4* Class4_create();
+
+/**
+ * Dynamic destruction of a Class4 structure instantiation
+ * @param Pointer to an instance of the Class4 structure
+ * @return void
+ */
+void Class4_destroy(Class4*);
+
+// Property initialisation declarations
+/*
+ *------Default value initialization prototypes-----
+ */
+/**
+ * Default value initialization
+ * @param Class4 structure instance pointer
+ * @return void
+ */
+void Class4_init(Class4 *self);
+
+// Class methods declarations
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+/*
+ *--------Global Public Variable Declarations-------
+ */
+// global variable declaration
+char *charStringStaticInit = "Hello World";
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS4_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.c
index acd17cd..052e6df 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.c
@@ -1,52 +1,59 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class5 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class5.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-/*
- *------Private/Protected Function Declarations-----
- */
-
-// ----------------------------------Private and Protected Global Functions----------------------------------
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-Class5* Class5_create() {
-	Class5* self = (Class5*) malloc(sizeof(Class5));
-	return self;
-}
-// default destructor
-void Class5_destroy(Class5* self) {
-	free(self);
-}
-
-// ----------------------------------Initialisation function implementation----------------------------------
-
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-int Class5_pureVirtualOp(Class5 *self) {
-}
-
-int*
-Class5_pureVirtualConstOp(Class5 *self) {
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class5 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class5.h"
+// Derived includes
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+/*
+ *------Private/Protected Function Declarations-----
+ */
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+Class5* Class5_create() {
+	Class5 *self = (Class5*) malloc(sizeof(Class5));
+	return self;
+}
+// default destructor
+void Class5_destroy(Class5 *self) {
+	free(self);
+}
+
+// ----------------------------------Initialization functions implementation----------------------------------
+
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * 
+ */
+int Class5_pureVirtualOp(Class5 *self) {
+
+}
+
+/**
+ * 
+ */
+int*
+Class5_pureVirtualConstOp(Class5 *self) {
+
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.h
index ba28fc7..b58296c 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class5.h
@@ -1,73 +1,85 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class5 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS5_H_
-#define CLASS5_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class5(OBJ) ((Class5*)OBJ)
-
-typedef struct Class5 Class5;
-
-struct Class5 {
-
-	int externalProp;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-/**
- * Dynamic instantiation of a Class5 structure
- * @return Class5 instance pointer
- */
-Class5* Class5_create();
-
-/**
- * Dynamic destruction of a Class5 structure instantiation
- * @param Pointer to an instance of the Class5 structure
- * @return void
- */
-void Class5_destroy(Class5*);
-
-// Property initialisation declarations
-
-// Class methods declarations
-/*
- *---------------Function Declarations--------------
- */
-int
-Class5_pureVirtualOp(Class5 *self);
-
-int*
-Class5_pureVirtualConstOp(Class5 *self);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS5_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class5 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS5_H_
+#define CLASS5_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class5(OBJ) ((Class5*)OBJ)
+
+/**
+ * 
+ */
+typedef struct Class5 Class5;
+
+struct Class5 {
+
+	int externalProp;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+/**
+ * Dynamic instantiation of a Class5 structure
+ * @return Class5 instance pointer
+ */
+Class5* Class5_create();
+
+/**
+ * Dynamic destruction of a Class5 structure instantiation
+ * @param Pointer to an instance of the Class5 structure
+ * @return void
+ */
+void Class5_destroy(Class5*);
+
+// Property initialisation declarations
+
+// Class methods declarations
+/*
+ *---------------Function Declarations--------------
+ */
+int
+Class5_pureVirtualOp(Class5 *self);
+
+int*
+Class5_pureVirtualConstOp(Class5 *self);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS5_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.c
index 482d243..ef1de62 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.c
@@ -1,48 +1,61 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class6 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class6.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-// ----------------------------------Private and Protected Global Functions----------------------------------
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-Class6* Class6_create() {
-	Class6* self = (Class6*) malloc(sizeof(Class6));
-	return self;
-}
-// default destructor
-void Class6_destroy(Class6* self) {
-	free(self);
-}
-
-// ----------------------------------Initialisation function implementation----------------------------------
-
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-int Class5_pureVirtualOp(Class5 *self) {
-}
-
-int*
-Class5_pureVirtualConstOp(Class5 *self) {
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class6 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class6.h"
+// Derived includes
+// Include from Include stereotype (body)
+#include <Class5.h>
+#include <Class3.h>
+// End of Include from Include stereotype (body)
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+Class6* Class6_create() {
+	Class6 *self = (Class6*) malloc(sizeof(Class6));
+	return self;
+}
+// default destructor
+void Class6_destroy(Class6 *self) {
+	free(self);
+}
+
+// ----------------------------------Initialization functions implementation----------------------------------
+
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * 
+ */
+int Class5_pureVirtualOp(Class5 *self) {
+
+}
+
+/**
+ * 
+ */
+int*
+Class5_pureVirtualConstOp(Class5 *self) {
+
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.h
index e10baa0..64b2a1b 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class6.h
@@ -1,74 +1,87 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class6 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS6_H_
-#define CLASS6_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-#include <Class5.h>
-#include <Class3.h>
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class6(OBJ) ((Class6*)OBJ)
-
-typedef struct Class6 Class6;
-
-struct Class6 {
-
-	Class3 class3;
-
-	int externalProp;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-/**
- * Dynamic instantiation of a Class6 structure
- * @return Class6 instance pointer
- */
-Class6* Class6_create();
-
-/**
- * Dynamic destruction of a Class6 structure instantiation
- * @param Pointer to an instance of the Class6 structure
- * @return void
- */
-void Class6_destroy(Class6*);
-
-// Property initialisation declarations
-
-// Class methods declarations
-int
-Class5_pureVirtualOp(Class5 *self);
-
-int*
-Class5_pureVirtualConstOp(Class5 *self);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS6_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class6 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS6_H_
+#define CLASS6_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+#include "Class3.h"
+#include "Class5.h"
+// End of Derived includes
+
+// Derived declares
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class6(OBJ) ((Class6*)OBJ)
+
+/**
+ * 
+ */
+typedef struct Class6 Class6;
+
+struct Class6 {
+
+	Class3 class3;
+
+	int externalProp;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+/**
+ * Dynamic instantiation of a Class6 structure
+ * @return Class6 instance pointer
+ */
+Class6* Class6_create();
+
+/**
+ * Dynamic destruction of a Class6 structure instantiation
+ * @param Pointer to an instance of the Class6 structure
+ * @return void
+ */
+void Class6_destroy(Class6*);
+
+// Property initialisation declarations
+
+// Class methods declarations
+int
+Class5_pureVirtualOp(Class5 *self);
+
+int*
+Class5_pureVirtualConstOp(Class5 *self);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS6_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.c
index 797fe65..f2644d3 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.c
@@ -1,47 +1,48 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class7 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class7.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-// ----------------------------------Private and Protected Global Functions----------------------------------
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-Class7* Class7_create() {
-	Class7* self = (Class7*) malloc(sizeof(Class7));
-	return self;
-}
-// default destructor
-void Class7_destroy(Class7* self) {
-	free(self);
-}
-
-// ----------------------------------Initialisation function implementation----------------------------------
-/*
- *----Default value initialization implementation---
- */
-void Class7_init(Class7* self) {
-	self->defaultProp = 43;
-}
-
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class7 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class7.h"
+// Derived includes
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+Class7* Class7_create() {
+	Class7 *self = (Class7*) malloc(sizeof(Class7));
+	Class7_init(self);
+	return self;
+}
+// default destructor
+void Class7_destroy(Class7 *self) {
+	free(self);
+}
+
+// ----------------------------------Initialization functions implementation----------------------------------
+
+void Class7_init(Class7 *self) {
+
+}
+
+// ----------------------------------Functions Implementation----------------------------------
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.h
index 08e3bcb..8a34c9f 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Class7.h
@@ -1,82 +1,94 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Class7 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS7_H_
-#define CLASS7_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class7(OBJ) ((Class7*)OBJ)
-
-typedef struct Class7 Class7;
-
-struct Class7 {
-
-	int externProp;
-
-	int defaultProp;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-/**
- * Dynamic instantiation of a Class7 structure
- * @return Class7 instance pointer
- */
-Class7* Class7_create();
-
-/**
- * Dynamic destruction of a Class7 structure instantiation
- * @param Pointer to an instance of the Class7 structure
- * @return void
- */
-void Class7_destroy(Class7*);
-
-// Property initialisation declarations
-/*
- *------Default value initialization prototypes-----
- */
-/**
- * Default value initialization
- * @param Class7 structure instance pointer
- * @return void
- */
-void Class7_init(Class7* self);
-
-// Class methods declarations
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-/*
- *--------Global Public Variable Declarations-------
- */
-// global variable declaration
-int staticProp;
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS7_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Class7 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS7_H_
+#define CLASS7_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+// End of Derived declares
+// Include from Include stereotype (header)
+#define helloworld 3
+// End of Include stereotype (header)
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class7(OBJ) ((Class7*)OBJ)
+
+typedef struct Class7 Class7;
+
+struct Class7 {
+
+	int externProp;
+
+	int defaultProp;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+/**
+ * Dynamic instantiation of a Class7 structure
+ * @return Class7 instance pointer
+ */
+Class7* Class7_create();
+
+/**
+ * Dynamic destruction of a Class7 structure instantiation
+ * @param Pointer to an instance of the Class7 structure
+ * @return void
+ */
+void Class7_destroy(Class7*);
+
+// Property initialisation declarations
+/*
+ *------Default value initialization prototypes-----
+ */
+/**
+ * Default value initialization
+ * @param Class7 structure instance pointer
+ * @return void
+ */
+void Class7_init(Class7 *self);
+
+// Class methods declarations
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+/*
+ *--------Global Public Variable Declarations-------
+ */
+// global variable declaration
+int staticProp;
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS7_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.c
index 10b8480..0a18cf6 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.c
@@ -1,58 +1,64 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Package1::Class8 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class8.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-/*
- *------Private/Protected Function Declarations-----
- */
-
-// ----------------------------------Private and Protected Global Functions----------------------------------
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-Class8* Class8_create() {
-	Class8* self = (Class8*) malloc(sizeof(Class8));
-	return self;
-}
-// default destructor
-void Class8_destroy(Class8* self) {
-	free(self);
-}
-
-// ----------------------------------Initialisation function implementation----------------------------------
-/*
- *----Default value initialization implementation---
- */
-void Class8_init(Class8* self) {
-	self->defaultIValue = 12;
-}
-
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-int Class8_operation1(Class8 *self, int iVal1, int iVal2, char cVal1,
-		char cVal2) {
-}
-
-void Class8_operation2(Class8 *self, int iVal1) {
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Package1::Class8 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class8.h"
+// Derived includes
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+/*
+ *------Private/Protected Function Declarations-----
+ */
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+Class8* Class8_create() {
+	Class8 *self = (Class8*) malloc(sizeof(Class8));
+	Class8_init(self);
+	return self;
+}
+// default destructor
+void Class8_destroy(Class8 *self) {
+	free(self);
+}
+
+// ----------------------------------Initialization functions implementation----------------------------------
+
+void Class8_init(Class8 *self) {
+
+}
+
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * 
+ */
+int Class8_operation1(Class8 *self, int iVal1, int iVal2, char cVal1,
+		char cVal2) {
+
+}
+
+/**
+ * 
+ */
+void Class8_operation2(Class8 *self, int iVal1) {
+
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.h
index c2205bd..10ca70e 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class8.h
@@ -1,82 +1,91 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Package1::Class8 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS8_H_
-#define CLASS8_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class8(OBJ) ((Class8*)OBJ)
-
-typedef struct Class8 Class8;
-
-struct Class8 {
-
-	int defaultIValue;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-/**
- * Dynamic instantiation of a Class8 structure
- * @return Class8 instance pointer
- */
-Class8* Class8_create();
-
-/**
- * Dynamic destruction of a Class8 structure instantiation
- * @param Pointer to an instance of the Class8 structure
- * @return void
- */
-void Class8_destroy(Class8*);
-
-// Property initialisation declarations
-/*
- *------Default value initialization prototypes-----
- */
-/**
- * Default value initialization
- * @param Class8 structure instance pointer
- * @return void
- */
-void Class8_init(Class8* self);
-
-// Class methods declarations
-/*
- *---------------Function Declarations--------------
- */
-int
-Class8_operation1(Class8 *self, int iVal1, int iVal2, char cVal1, char cVal2);
-
-void
-Class8_operation2(Class8 *self, int iVal1);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS8_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Package1::Class8 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS8_H_
+#define CLASS8_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class8(OBJ) ((Class8*)OBJ)
+
+typedef struct Class8 Class8;
+
+struct Class8 {
+
+	int defaultIValue;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+/**
+ * Dynamic instantiation of a Class8 structure
+ * @return Class8 instance pointer
+ */
+Class8* Class8_create();
+
+/**
+ * Dynamic destruction of a Class8 structure instantiation
+ * @param Pointer to an instance of the Class8 structure
+ * @return void
+ */
+void Class8_destroy(Class8*);
+
+// Property initialisation declarations
+/*
+ *------Default value initialization prototypes-----
+ */
+/**
+ * Default value initialization
+ * @param Class8 structure instance pointer
+ * @return void
+ */
+void Class8_init(Class8 *self);
+
+// Class methods declarations
+/*
+ *---------------Function Declarations--------------
+ */
+int
+Class8_operation1(Class8 *self, int iVal1, int iVal2, char cVal1, char cVal2);
+
+void
+Class8_operation2(Class8 *self, int iVal1);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS8_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.c b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.c
index 1901c65..55fff3a 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.c
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.c
@@ -1,63 +1,73 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Package1::Class9 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-// include of the self header
-/* include header file*/
-#include "Class9.h"
-
-//  Generate import of class ---------------------------------------------
-/* "startUserCode" to add imports */
-/* "endUserCode"   to add imports */
-
-// ----------------------------------Private and Protected Global VariableDescription----------------------------------
-// ----------------------------------Private and Protected Class Functions----------------------------------
-/*
- *------Private/Protected Function Declarations-----
- */
-int
-Class9_externOperation(Class9 *self);
-
-// ----------------------------------Private and Protected Global Functions----------------------------------
-
-// ----------------------------------Implementation of the class constructor and destructor----------
-/*
- *--Default constructor & destructor implementations-
- */
-Class9* Class9_create() {
-	Class9* self = (Class9*) malloc(sizeof(Class9));
-	return self;
-}
-// default destructor
-void Class9_destroy(Class9* self) {
-	free(self);
-}
-
-// ----------------------------------Initialisation function implementation----------------------------------
-/*
- *----Default value initialization implementation---
- */
-void Class9_init(Class9* self) {
-	self->externAttribute = 3;
-}
-
-// ----------------------------------Function Implementation----------------------------------
-/*
- *--------------Function Implementation-------------
- */
-int Class9_volatileIntOperation(Class9 *self) {
-}
-
-int Class9_registerOperation(Class9 *self) {
-}
-
-int Class9_externOperation(Class9 *self) {
-}
-
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Package1::Class9 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+// Include self header
+#include "Class9.h"
+// Derived includes
+
+// ----------------------------------Private and Protected Global VariableDescription----------------------------------
+
+// ----------------------------------Private and Protected Class Functions----------------------------------
+/*
+ *------Private/Protected Function Declarations-----
+ */
+int
+Class9_externOperation(Class9 *self);
+
+// ----------------------------------Private and Protected Global Functions----------------------------------
+
+// ----------------------------------Implementation of the class constructor and destructor----------
+/*
+ *--Default constructor & destructor implementations-
+ */
+Class9* Class9_create() {
+	Class9 *self = (Class9*) malloc(sizeof(Class9));
+	Class9_init(self);
+	return self;
+}
+// default destructor
+void Class9_destroy(Class9 *self) {
+	free(self);
+}
+
+// ----------------------------------Initialization functions implementation----------------------------------
+
+void Class9_init(Class9 *self) {
+
+}
+
+// ----------------------------------Functions Implementation----------------------------------
+/**
+ * 
+ */
+int Class9_volatileIntOperation(Class9 *self) {
+
+}
+
+/**
+ * Should not generate the 'register' keyword as it cannot be used in method signatures.
+ */
+int Class9_registerOperation(Class9 *self) {
+
+}
+
+/**
+ * 
+ */
+int Class9_externOperation(Class9 *self) {
+
+}
+
+// ----------------------------------Receptions Implementation----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions Implementations----------------------------------
+
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.h b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.h
index 99b2127..bcc7582 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.h
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/expectedResult/CCodegenTest/Package1/Class9.h
@@ -1,86 +1,101 @@
-// --------------------------------------------------------
-// Code generated by Papyrus C
-// --------------------------------------------------------
-
-// This template is called by the main module file 
-/* 
- * File generated from the CCodegenTest::Package1::Class9 uml class
- * Generated by the Papyrus C Generator (CEA LIST) 
- *
- */
-
-#ifndef CLASS9_H_
-#define CLASS9_H_
-
-// Explicit import of the class
-/*
- *-----------------------Import----------------------
- */
-#include <stdlib.h>
-// User imports
-/* "startUserCode"   to add imports */
-/* "endUserCode"     to add imports */
-/* include other files*/
-
-// header body
-/*
- *--------------Public Class Description-------------
- */
-//  Structure 
-/* Class Macro definition */
-#define Class9(OBJ) ((Class9*)OBJ)
-
-typedef struct Class9 Class9;
-
-struct Class9 {
-
-	int volatileAttribute;
-
-	int registerAttribute;
-
-	int externAttribute;
-};
-
-// Constructor and destructor declarations 
-/*
- *----Default constructor & destructor prototypes---
- */
-/**
- * Dynamic instantiation of a Class9 structure
- * @return Class9 instance pointer
- */
-Class9* Class9_create();
-
-/**
- * Dynamic destruction of a Class9 structure instantiation
- * @param Pointer to an instance of the Class9 structure
- * @return void
- */
-void Class9_destroy(Class9*);
-
-// Property initialisation declarations
-/*
- *------Default value initialization prototypes-----
- */
-/**
- * Default value initialization
- * @param Class9 structure instance pointer
- * @return void
- */
-void Class9_init(Class9* self);
-
-// Class methods declarations
-/*
- *---------------Function Declarations--------------
- */
-int
-Class9_volatileIntOperation(Class9 *self);
-
-int
-Class9_registerOperation(Class9 *self);
-
-// ----------------------------------Public Global VariableDescription----------------------------------
-
-// ----------------------------------Global Public Functions----------------------------------
-
-#endif /*CLASS9_H_*/
+// --------------------------------------------------------
+// Code generated by Papyrus C
+// --------------------------------------------------------
+
+/* 
+ * File generated from the CCodegenTest::Package1::Class9 uml class
+ * Generated by the Papyrus C Generator (CEA LIST) 
+ *
+ */
+
+#ifndef CLASS9_H_
+#define CLASS9_H_
+
+/*
+ *---------------Includes and declares--------------
+ */
+// Derived includes
+// End of Derived includes
+// Derived declares
+// End of Derived declares
+
+// Std headers
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+// End of Std headers
+
+/*
+ *--------------Public Class Description-------------
+ */
+//  Structure 
+/* Class Macro definition */
+#define Class9(OBJ) ((Class9*)OBJ)
+
+typedef struct Class9 Class9;
+
+struct Class9 {
+
+	int volatileAttribute;
+	/**
+	 * 
+	 */
+
+	int registerAttribute;
+
+	int externAttribute;
+
+};
+
+// Constructor and destructor declarations 
+/*
+ *----Default constructor & destructor prototypes---
+ */
+/**
+ * Dynamic instantiation of a Class9 structure
+ * @return Class9 instance pointer
+ */
+Class9* Class9_create();
+
+/**
+ * Dynamic destruction of a Class9 structure instantiation
+ * @param Pointer to an instance of the Class9 structure
+ * @return void
+ */
+void Class9_destroy(Class9*);
+
+// Property initialisation declarations
+/*
+ *------Default value initialization prototypes-----
+ */
+/**
+ * Default value initialization
+ * @param Class9 structure instance pointer
+ * @return void
+ */
+void Class9_init(Class9 *self);
+
+// Class methods declarations
+/*
+ *---------------Function Declarations--------------
+ */
+int
+Class9_volatileIntOperation(Class9 *self);
+
+/**
+ * 
+ */
+int
+Class9_registerOperation(Class9 *self);
+
+// Class receptions declarations
+
+// ----------------------------------Public Global VariableDescription----------------------------------
+
+// ----------------------------------Global Public Functions----------------------------------
+
+// ----------------------------------Signal Event Process Functions Implementations--------------------------------
+
+// ----------------------------------Call Event Process Functions ----------------------------------
+
+#endif /*CLASS9_H_*/
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.notation b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.notation
index 5c7f026..589df20 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.notation
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.notation
@@ -1,408 +1,441 @@
-<?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="_t4itkMyYEeOZRP5VM5W4JQ" type="PapyrusUMLClassDiagram" name="NewDiagram" measurementUnit="Pixel">
-  <children xmi:type="notation:Shape" xmi:id="_iERxIMyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_iERxIsyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_iERxI8yfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_iERxJMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_iERxJcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_iERxJsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iERxJ8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_iERxKMyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <children xmi:type="notation:Shape" xmi:id="_UI9c0PAvEeWAsMbO3qivvw" type="Operation_ClassOperationLabel">
-        <element xmi:type="uml:Operation" href="CCodegenTest.uml#_b2v08CraEeOncLSXAkfRBA"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_UI9c0fAvEeWAsMbO3qivvw"/>
-      </children>
-      <children xmi:type="notation:Shape" xmi:id="_UI-q8PAvEeWAsMbO3qivvw" type="Operation_ClassOperationLabel">
-        <element xmi:type="uml:Operation" href="CCodegenTest.uml#_fvQ-oCraEeOncLSXAkfRBA"/>
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_UI-q8fAvEeWAsMbO3qivvw"/>
-      </children>
-      <styles xmi:type="notation:TitleStyle" xmi:id="_iERxKcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_iERxKsyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_iERxK8yfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iERxLMyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_iESYMMyfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_iESYMcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_iESYMsyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_iESYM8yfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iESYNMyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LJkDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LJkTBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_x6ArECrKEeOncLSXAkfRBA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iERxIcyfEeOcyP6DQZu_Og" x="20" y="20"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_kg9O8MyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_kg92AMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_kg92AcyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_kg92AsyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_kg92A8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_kg92BMyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg92BcyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_kg92BsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_kg92B8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_kg92CMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_kg92CcyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg92CsyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_kg92C8yfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_kg92DMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_kg92DcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_kg92DsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg92D8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwoDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwoTBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_0E-t0CrKEeOncLSXAkfRBA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg9O8cyfEeOcyP6DQZu_Og" x="485" y="22"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_nJzggMyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_nJ0uoMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_nJ0uocyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_nJ0uosyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_nJ0uo8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_nJ0upMyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJ0upcyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_nJ0upsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_nJ0up8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_nJ0uqMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_nJ0uqcyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJ1VsMyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_nJ1VscyfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_nJ1VssyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_nJ1Vs8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_nJ1VtMyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJ1VtcyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwojBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwozBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_29UM4CrKEeOncLSXAkfRBA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJzggcyfEeOcyP6DQZu_Og" x="220" y="160"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_oC650MyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_oC8H8MyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_oC8H8cyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_oC8H8syfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_oC8H88yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_oC8H9MyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC8H9cyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_oC8H9syfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_oC8H98yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_oC8H-MyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_oC8H-cyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC8H-syfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_oC8H-8yfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_oC8H_MyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_oC8H_cyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_oC8H_syfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC8H_8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwpDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwpTBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_-j3HgCrKEeOncLSXAkfRBA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC7g4MyfEeOcyP6DQZu_Og" x="640" y="34"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_o8Ad8MyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_o8BFAMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_o8BFAcyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_o8BFAsyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_o8BFA8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_o8BFBMyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8BFBcyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_o8BFBsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_o8BFB8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_o8BFCMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_o8BFCcyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8BFCsyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_o8BFC8yfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_o8BFDMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_o8BFDcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_o8BFDsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8BFD8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwpjBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwpzBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_hTMV0CumEeOcwILjsIdkdw"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8Ad8cyfEeOcyP6DQZu_Og" x="799" y="36"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_qNfT8MyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_qNf7AMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_qNf7AcyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qNf7AsyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_qNf7A8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_qNf7BMyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNf7BcyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_qNf7BsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qNf7B8yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_qNf7CMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_qNf7CcyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNf7CsyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_qNf7C8yfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_qNf7DMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_qNf7DcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_qNf7DsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNf7D8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwqDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwqTBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_OJ7A0CxUEeOcwILjsIdkdw"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNfT8cyfEeOcyP6DQZu_Og" x="20" y="160"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_sl4usMyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_sl4ussyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_sl4us8yfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_sl4utMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_sl4utcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_sl4utsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl4ut8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_sl4uuMyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_sl4uucyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_sl4uusyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_sl4uu8yfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl4uvMyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_sl5VwMyfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_sl5VwcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_sl5VwsyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_sl5Vw8yfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl5VxMyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwqjBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwqzBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_ZqD3YCz9EeOcwILjsIdkdw"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl4uscyfEeOcyP6DQZu_Og" x="360" y="160"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_txmT4MyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_txm68MyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_txm68cyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_txm68syfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_txm688yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_txm69MyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txm69cyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_txm69syfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_txm698yfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_txm6-MyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_txm6-cyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txm6-syfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_txm6-8yfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_txm6_MyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_txm6_cyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_txm6_syfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txm6_8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwrDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwrTBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_qS9iYDEmEeOSfbt-FmCdoQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txmT4cyfEeOcyP6DQZu_Og" x="500" y="160"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_uTijUMyfEeOcyP6DQZu_Og" type="Class_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_uTijUsyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_uTijU8yfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_uTijVMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_uTijVcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_uTijVsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTijV8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_uTijWMyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_uTijWcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_uTjKYMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_uTjKYcyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTjKYsyfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_uTjKY8yfEeOcyP6DQZu_Og" type="Class_NestedClassifierCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_uTjKZMyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:SortingStyle" xmi:id="_uTjKZcyfEeOcyP6DQZu_Og"/>
-      <styles xmi:type="notation:FilteringStyle" xmi:id="_uTjKZsyfEeOcyP6DQZu_Og"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTjKZ8yfEeOcyP6DQZu_Og"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwrjBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwrzBEEeWm39aMVOrpAg" y="5"/>
-    </children>
-    <element xmi:type="uml:Class" href="CCodegenTest.uml#_jcK5MDG0EeOOEc5pE2t6oQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTijUcyfEeOcyP6DQZu_Og" x="640" y="160"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_t5cpgMy5EeOtSda2xb0Kjw" type="Package_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_t5xZoMy5EeOtSda2xb0Kjw" type="Package_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_NF0TMDbyEeejPb6HKM5TOA" type="Package_PackagedElementCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_t5yAscy5EeOtSda2xb0Kjw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5yAssy5EeOtSda2xb0Kjw"/>
-    </children>
-    <element xmi:type="uml:Package" href="CCodegenTest.uml#_nZ5DgDEmEeOSfbt-FmCdoQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5cpgcy5EeOtSda2xb0Kjw" x="20" y="300"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_Wu-RgMy6EeOtSda2xb0Kjw" type="Model_Shape">
-    <children xmi:type="notation:DecorationNode" xmi:id="_WvAtwMy6EeOtSda2xb0Kjw" type="Model_NameLabel"/>
-    <children xmi:type="notation:BasicCompartment" xmi:id="_NF-EMDbyEeejPb6HKM5TOA" type="Model_PackagedElementCompartment">
-      <styles xmi:type="notation:TitleStyle" xmi:id="_WvCi8cy6EeOtSda2xb0Kjw"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WvCi8sy6EeOtSda2xb0Kjw"/>
-    </children>
-    <element xmi:type="uml:Model" href="CCodegenTest.uml#_1_ToYCoNEeOncLSXAkfRBA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wu-Rgcy6EeOtSda2xb0Kjw" x="280" y="300"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_OBaO4DBEEeWm39aMVOrpAg" type="StereotypeComment">
-    <styles xmi:type="notation:TitleStyle" xmi:id="_OBaO4TBEEeWm39aMVOrpAg" showTitle="true"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_OBa18DBEEeWm39aMVOrpAg" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_0E-t0CrKEeOncLSXAkfRBA"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OBaO4jBEEeWm39aMVOrpAg" x="365" y="22"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_OCfM8DBEEeWm39aMVOrpAg" type="StereotypeComment">
-    <styles xmi:type="notation:TitleStyle" xmi:id="_OCfM8TBEEeWm39aMVOrpAg" showTitle="true"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_OCfM8zBEEeWm39aMVOrpAg" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Association" href="CCodegenTest.uml#_YZOWUCxoEeOcwILjsIdkdw"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OCfM8jBEEeWm39aMVOrpAg" x="221" y="39"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_ODD0sDBEEeWm39aMVOrpAg" type="StereotypeComment">
-    <styles xmi:type="notation:TitleStyle" xmi:id="_ODD0sTBEEeWm39aMVOrpAg" showTitle="true"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ODD0szBEEeWm39aMVOrpAg" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_ZqD3YCz9EeOcwILjsIdkdw"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ODD0sjBEEeWm39aMVOrpAg" x="505" y="143"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_ulY2-jcWEeejPb6HKM5TOA" type="StereotypeComment">
-    <styles xmi:type="notation:TitleStyle" xmi:id="_ulY2-zcWEeejPb6HKM5TOA"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ulY2_TcWEeejPb6HKM5TOA" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_29UM4CrKEeOncLSXAkfRBA"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ulY2_DcWEeejPb6HKM5TOA" x="420" y="160"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_A-t-vTcXEeejPb6HKM5TOA" type="StereotypeComment">
-    <styles xmi:type="notation:TitleStyle" xmi:id="_A-t-vjcXEeejPb6HKM5TOA"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_A-t-wDcXEeejPb6HKM5TOA" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_-j3HgCrKEeOncLSXAkfRBA"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A-t-vzcXEeejPb6HKM5TOA" x="840" y="34"/>
-  </children>
-  <children xmi:type="notation:Shape" xmi:id="_FmTN0jcXEeejPb6HKM5TOA" type="StereotypeComment">
-    <styles xmi:type="notation:TitleStyle" xmi:id="_FmTN0zcXEeejPb6HKM5TOA"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_FmTN1TcXEeejPb6HKM5TOA" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_OJ7A0CxUEeOcwILjsIdkdw"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FmTN1DcXEeejPb6HKM5TOA" x="220" y="160"/>
-  </children>
-  <styles xmi:type="notation:DiagramStyle" xmi:id="_t4itkcyYEeOZRP5VM5W4JQ"/>
-  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_t4itksyYEeOZRP5VM5W4JQ">
-    <owner xmi:type="uml:Model" href="CCodegenTest.uml#_t4hfcMyYEeOZRP5VM5W4JQ"/>
-  </styles>
-  <styles xmi:type="notation:StringValueStyle" xmi:id="_N8MXsDBEEeWm39aMVOrpAg" name="diagram_compatibility_version" stringValue="1.2.0"/>
-  <element xmi:type="uml:Model" href="CCodegenTest.uml#_t4hfcMyYEeOZRP5VM5W4JQ"/>
-  <edges xmi:type="notation:Connector" xmi:id="_rssc4MyfEeOcyP6DQZu_Og" type="Association_Edge" source="_qNfT8MyfEeOcyP6DQZu_Og" target="_nJzggMyfEeOcyP6DQZu_Og">
-    <children xmi:type="notation:DecorationNode" xmi:id="_rstD8MyfEeOcyP6DQZu_Og" visible="false" type="Association_StereotypeLabel">
-      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ecye4PAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_rstD8cyfEeOcyP6DQZu_Og" x="-31" y="-28"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_rstrAMyfEeOcyP6DQZu_Og" visible="false" type="Association_NameLabel">
-      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EdIdIPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_rstrAcyfEeOcyP6DQZu_Og" x="1" y="19"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_rstrAsyfEeOcyP6DQZu_Og" visible="false" type="Association_TargetRoleLabel">
-      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EdcmMPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_rstrA8yfEeOcyP6DQZu_Og" x="45" y="-20"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_rsuSEMyfEeOcyP6DQZu_Og" visible="false" type="Association_SourceRoleLabel">
-      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EduTAPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_rsuSEcyfEeOcyP6DQZu_Og" x="-105" y="-50"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_rsuSEsyfEeOcyP6DQZu_Og" type="Association_SourceMultiplicityLabel">
-      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EeDqMPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_rsuSE8yfEeOcyP6DQZu_Og" x="45" y="20"/>
-    </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_rsuSFMyfEeOcyP6DQZu_Og" visible="false" type="Association_TargetMultiplicityLabel">
-      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EeZBYPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_rsuSFcyfEeOcyP6DQZu_Og" x="-45" y="-17"/>
-    </children>
-    <styles xmi:type="notation:FontStyle" xmi:id="_rssc4cyfEeOcyP6DQZu_Og"/>
-    <element xmi:type="uml:Association" href="CCodegenTest.uml#_YZOWUCxoEeOcwILjsIdkdw"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rssc4syfEeOcyP6DQZu_Og" points="[120, 200, -643984, -643984]$[260, 200, -643984, -643984]$[320, 100, -643984, -643984]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D8EXcPAvEeWAsMbO3qivvw" id="(1.0,0.4)"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EcduwPAvEeWAsMbO3qivvw" id="(0.0,0.4)"/>
-  </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_OBcEEDBEEeWm39aMVOrpAg" type="StereotypeCommentLink" source="_kg9O8MyfEeOcyP6DQZu_Og" target="_OBaO4DBEEeWm39aMVOrpAg">
-    <styles xmi:type="notation:FontStyle" xmi:id="_OBcEETBEEeWm39aMVOrpAg"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_OBcEFTBEEeWm39aMVOrpAg" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_0E-t0CrKEeOncLSXAkfRBA"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OBcEEjBEEeWm39aMVOrpAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OBcEEzBEEeWm39aMVOrpAg"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OBcEFDBEEeWm39aMVOrpAg"/>
-  </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_OCfM9DBEEeWm39aMVOrpAg" type="StereotypeCommentLink" source="_rssc4MyfEeOcyP6DQZu_Og" target="_OCfM8DBEEeWm39aMVOrpAg">
-    <styles xmi:type="notation:FontStyle" xmi:id="_OCfM9TBEEeWm39aMVOrpAg"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_OCfM-TBEEeWm39aMVOrpAg" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Association" href="CCodegenTest.uml#_YZOWUCxoEeOcwILjsIdkdw"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OCfM9jBEEeWm39aMVOrpAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCfM9zBEEeWm39aMVOrpAg"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OCfM-DBEEeWm39aMVOrpAg"/>
-  </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_ODD0tDBEEeWm39aMVOrpAg" type="StereotypeCommentLink" source="_sl4usMyfEeOcyP6DQZu_Og" target="_ODD0sDBEEeWm39aMVOrpAg">
-    <styles xmi:type="notation:FontStyle" xmi:id="_ODD0tTBEEeWm39aMVOrpAg"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ODEbwDBEEeWm39aMVOrpAg" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_ZqD3YCz9EeOcwILjsIdkdw"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ODD0tjBEEeWm39aMVOrpAg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODD0tzBEEeWm39aMVOrpAg"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ODD0uDBEEeWm39aMVOrpAg"/>
-  </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_ule9kDcWEeejPb6HKM5TOA" type="StereotypeCommentLink" source="_nJzggMyfEeOcyP6DQZu_Og" target="_ulY2-jcWEeejPb6HKM5TOA">
-    <styles xmi:type="notation:FontStyle" xmi:id="_ule9kTcWEeejPb6HKM5TOA"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ule9lTcWEeejPb6HKM5TOA" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_29UM4CrKEeOncLSXAkfRBA"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ule9kjcWEeejPb6HKM5TOA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ule9kzcWEeejPb6HKM5TOA"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ule9lDcWEeejPb6HKM5TOA"/>
-  </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_A-t-wTcXEeejPb6HKM5TOA" type="StereotypeCommentLink" source="_oC650MyfEeOcyP6DQZu_Og" target="_A-t-vTcXEeejPb6HKM5TOA">
-    <styles xmi:type="notation:FontStyle" xmi:id="_A-t-wjcXEeejPb6HKM5TOA"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_A-t-xjcXEeejPb6HKM5TOA" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_-j3HgCrKEeOncLSXAkfRBA"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A-t-wzcXEeejPb6HKM5TOA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_A-t-xDcXEeejPb6HKM5TOA"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_A-t-xTcXEeejPb6HKM5TOA"/>
-  </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_FmTN1jcXEeejPb6HKM5TOA" type="StereotypeCommentLink" source="_qNfT8MyfEeOcyP6DQZu_Og" target="_FmTN0jcXEeejPb6HKM5TOA">
-    <styles xmi:type="notation:FontStyle" xmi:id="_FmTN1zcXEeejPb6HKM5TOA"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_FmTN2zcXEeejPb6HKM5TOA" name="BASE_ELEMENT">
-      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_OJ7A0CxUEeOcwILjsIdkdw"/>
-    </styles>
-    <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FmTN2DcXEeejPb6HKM5TOA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FmTN2TcXEeejPb6HKM5TOA"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FmTN2jcXEeejPb6HKM5TOA"/>
-  </edges>
-</notation:Diagram>
+<?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/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_t4itkMyYEeOZRP5VM5W4JQ" type="PapyrusUMLClassDiagram" name="NewDiagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_iERxIMyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_iERxIsyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_iERxI8yfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iERxJMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_iERxJcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_iERxJsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iERxJ8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_iERxKMyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_UI9c0PAvEeWAsMbO3qivvw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="CCodegenTest.uml#_b2v08CraEeOncLSXAkfRBA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UI9c0fAvEeWAsMbO3qivvw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_UI-q8PAvEeWAsMbO3qivvw" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="CCodegenTest.uml#_fvQ-oCraEeOncLSXAkfRBA"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_UI-q8fAvEeWAsMbO3qivvw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iERxKcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_iERxKsyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_iERxK8yfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iERxLMyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_iESYMMyfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_iESYMcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_iESYMsyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_iESYM8yfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iESYNMyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LJkDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LJkTBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_x6ArECrKEeOncLSXAkfRBA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_iERxIcyfEeOcyP6DQZu_Og" x="20" y="20"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_kg9O8MyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_kg92AMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kg92AcyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kg92AsyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kg92A8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kg92BMyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg92BcyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kg92BsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_RVyvUIMXEeqidNXBZpFX_A" type="Operation_ClassOperationLabel">
+        <element xmi:type="uml:Operation" href="CCodegenTest.uml#_MRiIoCugEeOcwILjsIdkdw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_RVyvUYMXEeqidNXBZpFX_A"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kg92B8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kg92CMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kg92CcyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg92CsyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kg92C8yfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kg92DMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kg92DcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kg92DsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg92D8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwoDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwoTBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_0E-t0CrKEeOncLSXAkfRBA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kg9O8cyfEeOcyP6DQZu_Og" x="460" y="22" width="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_nJzggMyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nJ0uoMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_nJ0uocyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_nJ0uosyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_nJ0uo8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_nJ0upMyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJ0upcyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_nJ0upsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_nJ0up8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_nJ0uqMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_nJ0uqcyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJ1VsMyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_nJ1VscyfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_nJ1VssyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_nJ1Vs8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_nJ1VtMyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJ1VtcyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwojBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwozBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_29UM4CrKEeOncLSXAkfRBA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nJzggcyfEeOcyP6DQZu_Og" x="460" y="160" width="122"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_oC650MyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_oC8H8MyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_oC8H8cyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oC8H8syfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oC8H88yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oC8H9MyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC8H9cyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_oC8H9syfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oC8H98yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oC8H-MyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oC8H-cyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC8H-syfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_oC8H-8yfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oC8H_MyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oC8H_cyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oC8H_syfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC8H_8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwpDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwpTBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_-j3HgCrKEeOncLSXAkfRBA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oC7g4MyfEeOcyP6DQZu_Og" x="640" y="20" width="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_o8Ad8MyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_o8BFAMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o8BFAcyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o8BFAsyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o8BFA8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o8BFBMyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8BFBcyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o8BFBsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o8BFB8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o8BFCMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o8BFCcyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8BFCsyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_o8BFC8yfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_o8BFDMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_o8BFDcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_o8BFDsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8BFD8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwpjBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwpzBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_hTMV0CumEeOcwILjsIdkdw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o8Ad8cyfEeOcyP6DQZu_Og" x="799" y="20"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qNfT8MyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qNf7AMyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qNf7AcyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qNf7AsyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qNf7A8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qNf7BMyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNf7BcyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qNf7BsyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qNf7B8yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qNf7CMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qNf7CcyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNf7CsyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qNf7C8yfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qNf7DMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_qNf7DcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_qNf7DsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNf7D8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwqDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwqTBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_OJ7A0CxUEeOcwILjsIdkdw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qNfT8cyfEeOcyP6DQZu_Og" x="280" y="160" width="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_sl4usMyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_sl4ussyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_sl4us8yfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sl4utMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_sl4utcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_sl4utsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl4ut8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_sl4uuMyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sl4uucyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_sl4uusyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_sl4uu8yfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl4uvMyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_sl5VwMyfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_sl5VwcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_sl5VwsyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_sl5Vw8yfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl5VxMyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwqjBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwqzBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_ZqD3YCz9EeOcwILjsIdkdw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl4uscyfEeOcyP6DQZu_Og" x="640" y="280" width="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_txmT4MyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_txm68MyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_txm68cyfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_txm68syfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_txm688yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_txm69MyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txm69cyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_txm69syfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_txm698yfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_txm6-MyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_txm6-cyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txm6-syfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_txm6-8yfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_txm6_MyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_txm6_cyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_txm6_syfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txm6_8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwrDBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwrTBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_qS9iYDEmEeOSfbt-FmCdoQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txmT4cyfEeOcyP6DQZu_Og" x="640" y="160" width="121"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_uTijUMyfEeOcyP6DQZu_Og" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_uTijUsyfEeOcyP6DQZu_Og" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_uTijU8yfEeOcyP6DQZu_Og" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_uTijVMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_uTijVcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_uTijVsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTijV8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_uTijWMyfEeOcyP6DQZu_Og" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_uTijWcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_uTjKYMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_uTjKYcyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTjKYsyfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_uTjKY8yfEeOcyP6DQZu_Og" visible="false" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_uTjKZMyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_uTjKZcyfEeOcyP6DQZu_Og"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_uTjKZsyfEeOcyP6DQZu_Og"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTjKZ8yfEeOcyP6DQZu_Og"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_N8LwrjBEEeWm39aMVOrpAg" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_N8LwrzBEEeWm39aMVOrpAg" y="5"/>
+    </children>
+    <element xmi:type="uml:Class" href="CCodegenTest.uml#_jcK5MDG0EeOOEc5pE2t6oQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uTijUcyfEeOcyP6DQZu_Og" x="800" y="280" width="101"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_t5cpgMy5EeOtSda2xb0Kjw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_t5xZoMy5EeOtSda2xb0Kjw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_NF0TMDbyEeejPb6HKM5TOA" type="Package_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_t5yAscy5EeOtSda2xb0Kjw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5yAssy5EeOtSda2xb0Kjw"/>
+    </children>
+    <element xmi:type="uml:Package" href="CCodegenTest.uml#_nZ5DgDEmEeOSfbt-FmCdoQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t5cpgcy5EeOtSda2xb0Kjw" x="20" y="300"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Wu-RgMy6EeOtSda2xb0Kjw" type="Model_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_WvAtwMy6EeOtSda2xb0Kjw" type="Model_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_NF-EMDbyEeejPb6HKM5TOA" type="Model_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_WvCi8cy6EeOtSda2xb0Kjw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WvCi8sy6EeOtSda2xb0Kjw"/>
+    </children>
+    <element xmi:type="uml:Model" href="CCodegenTest.uml#_1_ToYCoNEeOncLSXAkfRBA"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wu-Rgcy6EeOtSda2xb0Kjw" x="280" y="300"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Yz58I4MWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Yz58JIMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Yz58JoMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_0E-t0CrKEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yz58JYMWEeqidNXBZpFX_A" x="685" y="22"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y0DtI4MWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Y0DtJIMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0DtJoMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_29UM4CrKEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0DtJYMWEeqidNXBZpFX_A" x="420" y="160"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y0NeIIMWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Y0NeIYMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0NeI4MWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_-j3HgCrKEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0NeIoMWEeqidNXBZpFX_A" x="840" y="34"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y0ZrY4MWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Y0ZrZIMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0aScIMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_OJ7A0CxUEeOcwILjsIdkdw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0ZrZYMWEeqidNXBZpFX_A" x="220" y="160"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y0gZEIMWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Y0gZEYMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0gZE4MWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Association" href="CCodegenTest.uml#_YZOWUCxoEeOcwILjsIdkdw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0gZEoMWEeqidNXBZpFX_A" x="220" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y0w3wIMWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Y0w3wYMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0w3w4MWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_ZqD3YCz9EeOcwILjsIdkdw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y0w3woMWEeqidNXBZpFX_A" x="560" y="160"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y1KgY4MWEeqidNXBZpFX_A" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Y1KgZIMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y1LHcIMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Model" href="CCodegenTest.uml#_1_ToYCoNEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y1KgZYMWEeqidNXBZpFX_A" x="480" y="300"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_t4itkcyYEeOZRP5VM5W4JQ"/>
+  <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_53rlgIJaEeqNJspmoZA5fA" diagramKindId="org.eclipse.papyrus.uml.diagram.class">
+    <owner xmi:type="uml:Model" href="CCodegenTest.uml#_t4hfcMyYEeOZRP5VM5W4JQ"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_N8MXsDBEEeWm39aMVOrpAg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+  <element xmi:type="uml:Model" href="CCodegenTest.uml#_t4hfcMyYEeOZRP5VM5W4JQ"/>
+  <edges xmi:type="notation:Connector" xmi:id="_rssc4MyfEeOcyP6DQZu_Og" type="Association_Edge" source="_qNfT8MyfEeOcyP6DQZu_Og" target="_nJzggMyfEeOcyP6DQZu_Og">
+    <children xmi:type="notation:DecorationNode" xmi:id="_rstD8MyfEeOcyP6DQZu_Og" visible="false" type="Association_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ecye4PAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rstD8cyfEeOcyP6DQZu_Og" x="-31" y="-28"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rstrAMyfEeOcyP6DQZu_Og" visible="false" type="Association_NameLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EdIdIPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rstrAcyfEeOcyP6DQZu_Og" x="1" y="19"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rstrAsyfEeOcyP6DQZu_Og" visible="false" type="Association_TargetRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EdcmMPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rstrA8yfEeOcyP6DQZu_Og" x="45" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rsuSEMyfEeOcyP6DQZu_Og" visible="false" type="Association_SourceRoleLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EduTAPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rsuSEcyfEeOcyP6DQZu_Og" x="-105" y="-50"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rsuSEsyfEeOcyP6DQZu_Og" type="Association_SourceMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EeDqMPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rsuSE8yfEeOcyP6DQZu_Og" x="45" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rsuSFMyfEeOcyP6DQZu_Og" visible="false" type="Association_TargetMultiplicityLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EeZBYPAvEeWAsMbO3qivvw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rsuSFcyfEeOcyP6DQZu_Og" x="-45" y="-17"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_rssc4cyfEeOcyP6DQZu_Og"/>
+    <element xmi:type="uml:Association" href="CCodegenTest.uml#_YZOWUCxoEeOcwILjsIdkdw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rssc4syfEeOcyP6DQZu_Og" points="[401, 200, -643984, -643984]$[460, 200, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D8EXcPAvEeWAsMbO3qivvw" id="(1.0,0.37383177570093457)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EcduwPAvEeWAsMbO3qivvw" id="(0.0,0.3508771929824561)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Yz58J4MWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_kg9O8MyfEeOcyP6DQZu_Og" target="_Yz58I4MWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Yz58KIMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Yz6jMoMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_0E-t0CrKEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Yz58KYMWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Yz6jMIMWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Yz6jMYMWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Y0DtJ4MWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_nJzggMyfEeOcyP6DQZu_Og" target="_Y0DtI4MWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Y0DtKIMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0EUMIMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_29UM4CrKEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y0DtKYMWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0DtKoMWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0DtK4MWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Y0NeJIMWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_oC650MyfEeOcyP6DQZu_Og" target="_Y0NeIIMWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Y0NeJYMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0NeKYMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_-j3HgCrKEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y0NeJoMWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0NeJ4MWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0NeKIMWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Y0aScYMWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_qNfT8MyfEeOcyP6DQZu_Og" target="_Y0ZrY4MWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Y0aScoMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0aSdoMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_OJ7A0CxUEeOcwILjsIdkdw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y0aSc4MWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0aSdIMWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0aSdYMWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Y0gZFIMWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_rssc4MyfEeOcyP6DQZu_Og" target="_Y0gZEIMWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Y0gZFYMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0hAIoMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Association" href="CCodegenTest.uml#_YZOWUCxoEeOcwILjsIdkdw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y0gZFoMWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0hAIIMWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0hAIYMWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Y0w3xIMWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_sl4usMyfEeOcyP6DQZu_Og" target="_Y0w3wIMWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Y0w3xYMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y0w3yYMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="CCodegenTest.uml#_ZqD3YCz9EeOcwILjsIdkdw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y0w3xoMWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0w3x4MWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y0w3yIMWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Y1LHcYMWEeqidNXBZpFX_A" type="StereotypeCommentLink" source="_Wu-RgMy6EeOtSda2xb0Kjw" target="_Y1KgY4MWEeqidNXBZpFX_A">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Y1LHcoMWEeqidNXBZpFX_A"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Y1LHdoMWEeqidNXBZpFX_A" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Model" href="CCodegenTest.uml#_1_ToYCoNEeOncLSXAkfRBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Y1LHc4MWEeqidNXBZpFX_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y1LHdIMWEeqidNXBZpFX_A"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Y1LHdYMWEeqidNXBZpFX_A"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mVpp4IMWEeqidNXBZpFX_A" type="Generalization_Edge" source="_nJzggMyfEeOcyP6DQZu_Og" target="_kg9O8MyfEeOcyP6DQZu_Og">
+    <children xmi:type="notation:DecorationNode" xmi:id="_mVsGIIMWEeqidNXBZpFX_A" type="Generalization_StereotypeLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_soe54IMWEeqidNXBZpFX_A" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mVstMIMWEeqidNXBZpFX_A" y="39"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_mVpp4YMWEeqidNXBZpFX_A"/>
+    <element xmi:type="uml:Generalization" href="CCodegenTest.uml#_EN-zoCt5EeOcwILjsIdkdw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mVpp4oMWEeqidNXBZpFX_A" points="[320, 185, -643984, -643984]$[485, 100, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_spdKQIMWEeqidNXBZpFX_A" id="(0.4918032786885246,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_spdKQYMWEeqidNXBZpFX_A" id="(0.49586776859504134,1.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.uml b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.uml
index 4f3aca7..2add82f 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.uml
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/resources/CCodegenTest.uml
@@ -1,434 +1,443 @@
-<?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: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="_1_ToYCoNEeOncLSXAkfRBA" name="CCodegenTest">
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_1_ToYSoNEeOncLSXAkfRBA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
-    </packageImport>
-    <packageImport xmi:type="uml:PackageImport" xmi:id="_TaxOkCoTEeOncLSXAkfRBA">
-      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
-    </packageImport>
-    <packagedElement xmi:type="uml:Class" xmi:id="_x6ArECrKEeOncLSXAkfRBA" name="Class1">
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_U4LD0CrbEeOncLSXAkfRBA" name="iVal" visibility="private">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9--NUCtwEeOcwILjsIdkdw" name="Class1" specification="_fvQ-oCraEeOncLSXAkfRBA">
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_XmDKUWdrEeOvh505Y4rydA" name="cSource" type="_x6ArECrKEeOncLSXAkfRBA"/>
-        <language>C/C++</language>
-        <body>self->iVal = cSource.iVal;&#xD;</body>
-      </ownedBehavior>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_KtFesCtxEeOcwILjsIdkdw" name="~Class1" specification="_b2v08CraEeOncLSXAkfRBA">
-        <language>C/C++</language>
-        <body>
-&#xD;</body>
-      </ownedBehavior>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_b2v08CraEeOncLSXAkfRBA" name="~Class1" method="_KtFesCtxEeOcwILjsIdkdw">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_LY0YwCtwEeOcwILjsIdkdw" annotatedElement="_b2v08CraEeOncLSXAkfRBA">
-          <body>Destructor</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_fvQ-oCraEeOncLSXAkfRBA" name="Class1" method="_9--NUCtwEeOcwILjsIdkdw" isQuery="true">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_PvFOYCtwEeOcwILjsIdkdw" annotatedElement="_fvQ-oCraEeOncLSXAkfRBA">
-          <body>Copy constructor</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_XmDKUGdrEeOvh505Y4rydA" name="cSource" type="_x6ArECrKEeOncLSXAkfRBA"/>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_13uG0DbvEeejPb6HKM5TOA" name="*self" type="_x6ArECrKEeOncLSXAkfRBA"/>
-      </ownedOperation>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_0E-t0CrKEeOncLSXAkfRBA" name="Class2">
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_8hdewCt2EeOcwILjsIdkdw" name="bVal">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_0sh-ADHFEeOOEc5pE2t6oQ" annotatedElement="_8hdewCt2EeOcwILjsIdkdw">
-          <body>boolean  value with public visibility</body>
-        </ownedComment>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_NkSbsCt5EeOcwILjsIdkdw" name="iVal1" visibility="protected">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_uOkcEDHFEeOOEc5pE2t6oQ" annotatedElement="_NkSbsCt5EeOcwILjsIdkdw">
-          <body>int value with protected visibility</body>
-        </ownedComment>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6uDGwCt-EeOcwILjsIdkdw" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6uDt0Ct-EeOcwILjsIdkdw" value="1"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_OalxkCt5EeOcwILjsIdkdw" name="iVal2" visibility="private">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_tJ-ykDHFEeOOEc5pE2t6oQ" annotatedElement="_OalxkCt5EeOcwILjsIdkdw">
-          <body>int value with private visibility</body>
-        </ownedComment>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RB9HUCt3EeOcwILjsIdkdw" name="Class2" specification="_HV3R8Ct2EeOcwILjsIdkdw">
-        <language>C/C++</language>
-        <body>self->iVal1 = newIVal1;&#xD;
-self->iVal2 = newIVal2;&#xD;
-self->bVal = newBVal;</body>
-      </ownedBehavior>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wrOJMCt5EeOcwILjsIdkdw" name="virtualOp" specification="_6QndgCt2EeOcwILjsIdkdw">
-        <language>C/C++</language>
-        <body></body>
-      </ownedBehavior>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_X_ZAQCuHEeOcwILjsIdkdw" name="Class2" specification="_8h2VwCt1EeOcwILjsIdkdw">
-        <language>C/C++</language>
-        <body>self->iVal1 = 0;&#xD;
-self->iVal2 = 0;&#xD;
-self->bVal = 'f';</body>
-      </ownedBehavior>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_q-ZzYC0FEeOcwILjsIdkdw" name="inlineOp" specification="_HtC9sCuIEeOcwILjsIdkdw">
-        <language>C/C++</language>
-        <body>return a+b;</body>
-      </ownedBehavior>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rqzpYDHGEeOOEc5pE2t6oQ" name="constOps" specification="_fGJ2ADHGEeOOEc5pE2t6oQ">
-        <language>C/C++</language>
-        <body>printf(&quot;I am a const method\n&quot;);</body>
-      </ownedBehavior>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_8h2VwCt1EeOcwILjsIdkdw" name="Class2_1" method="_X_ZAQCuHEeOcwILjsIdkdw">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_Cubz0Ct2EeOcwILjsIdkdw" annotatedElement="_8h2VwCt1EeOcwILjsIdkdw">
-          <body>Default constructor</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_vKar4DbwEeejPb6HKM5TOA" name="*self" type="_0E-t0CrKEeOncLSXAkfRBA"/>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_HV3R8Ct2EeOcwILjsIdkdw" name="Class2" method="_RB9HUCt3EeOcwILjsIdkdw">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_327CQCt2EeOcwILjsIdkdw" annotatedElement="_HV3R8Ct2EeOcwILjsIdkdw">
-          <body>Constructor with parameters</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_1ZSiMCt2EeOcwILjsIdkdw" name="newIVal1">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_f5oS8CuHEeOcwILjsIdkdw" name="newIVal2">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_mBfpECuHEeOcwILjsIdkdw" name="newBVal">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ALFNADbwEeejPb6HKM5TOA" name="*self" type="_0E-t0CrKEeOncLSXAkfRBA"/>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_6QndgCt2EeOcwILjsIdkdw" name="virtualOp" method="_wrOJMCt5EeOcwILjsIdkdw">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_6F9lUCt5EeOcwILjsIdkdw" annotatedElement="_6QndgCt2EeOcwILjsIdkdw">
-          <body>Virtual method</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_LmW-oGwgEeOUiKqqNL5BkQ" name="a">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_NOv4wGwgEeOUiKqqNL5BkQ" name="b">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_O0AmYGwgEeOUiKqqNL5BkQ" name="" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_EOE8cCuIEeOcwILjsIdkdw" name="staticOp" isStatic="true">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_dGa0YCubEeOcwILjsIdkdw" annotatedElement="_EOE8cCuIEeOcwILjsIdkdw">
-          <body>Static method</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_HtC9sCuIEeOcwILjsIdkdw" name="inlineOp" method="_q-ZzYC0FEeOcwILjsIdkdw">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_edOPQCubEeOcwILjsIdkdw" annotatedElement="_HtC9sCuIEeOcwILjsIdkdw">
-          <body>Inline method</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_GXNQADHGEeOOEc5pE2t6oQ" name="a">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_IBIbMDHGEeOOEc5pE2t6oQ" name="b">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_X2lQ8DHGEeOOEc5pE2t6oQ" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_MZs6ECuIEeOcwILjsIdkdw" name="friendOp">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_gnRsACubEeOcwILjsIdkdw" annotatedElement="_MZs6ECuIEeOcwILjsIdkdw">
-          <body>Friend method</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_PbnYoCuYEeOcwILjsIdkdw" name="nonStaticOp">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_jPwxMCubEeOcwILjsIdkdw" annotatedElement="_PbnYoCuYEeOcwILjsIdkdw">
-          <body>Non-static method</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_WoYhUCuYEeOcwILjsIdkdw" name="paramsOp">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_nGVaICubEeOcwILjsIdkdw" annotatedElement="_WoYhUCuYEeOcwILjsIdkdw">
-          <body>Method with in, out, inout, return parameters</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_e2H-0CuYEeOcwILjsIdkdw" name="in">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ghAzUCuYEeOcwILjsIdkdw" name="out" direction="out">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_iKAKYCuYEeOcwILjsIdkdw" name="inout" direction="inout">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_lPf7sCuYEeOcwILjsIdkdw" name="ret" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_C4qY8CuZEeOcwILjsIdkdw" name="voidOp">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_M-gwoDHFEeOOEc5pE2t6oQ" annotatedElement="_C4qY8CuZEeOcwILjsIdkdw">
-          <body>Void Method</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_DHEZoCufEeOcwILjsIdkdw" name="" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_Rmpa4CuaEeOcwILjsIdkdw" name="defaultValueOp">
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ovlsYCuaEeOcwILjsIdkdw" name="newIVal1">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ovlsYSuaEeOcwILjsIdkdw" name="DEFAULT_INT"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_Ub5CUCudEeOcwILjsIdkdw" name="~Class2">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_9HrlYDHFEeOOEc5pE2t6oQ" annotatedElement="_Ub5CUCudEeOcwILjsIdkdw">
-          <body>Virtual destructor</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_MRiIoCugEeOcwILjsIdkdw" name="classesOp">
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_Xd-L4CugEeOcwILjsIdkdw" name="c1" type="_x6ArECrKEeOncLSXAkfRBA"/>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_aK_y0CugEeOcwILjsIdkdw" name="" type="_x6ArECrKEeOncLSXAkfRBA" direction="return"/>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_fGJ2ADHGEeOOEc5pE2t6oQ" name="constOp" method="_rqzpYDHGEeOOEc5pE2t6oQ">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_sz0qcDHHEeOOEc5pE2t6oQ" annotatedElement="_fGJ2ADHGEeOOEc5pE2t6oQ">
-          <body>Const method</body>
-        </ownedComment>
-      </ownedOperation>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_29UM4CrKEeOncLSXAkfRBA" name="Class3">
-      <generalization xmi:type="uml:Generalization" xmi:id="_EN-zoCt5EeOcwILjsIdkdw" general="_0E-t0CrKEeOncLSXAkfRBA"/>
-      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_0ekfACt5EeOcwILjsIdkdw" name="virtualOp" specification="_IoFAYCt5EeOcwILjsIdkdw">
-        <language>C/C++</language>
-        <body>return a+b;</body>
-      </ownedBehavior>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_IoFAYCt5EeOcwILjsIdkdw" name="virtualOp" method="_0ekfACt5EeOcwILjsIdkdw">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_4qnosCt5EeOcwILjsIdkdw" annotatedElement="_IoFAYCt5EeOcwILjsIdkdw">
-          <body>Inherited method overriding.</body>
-        </ownedComment>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_7owzgDHJEeOOEc5pE2t6oQ" name="a">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_991NcDHJEeOOEc5pE2t6oQ" name="b">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_HsJs4DHKEeOOEc5pE2t6oQ" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_du7T8CudEeOcwILjsIdkdw" name="~Class3">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_Fr_C4CueEeOcwILjsIdkdw" annotatedElement="_du7T8CudEeOcwILjsIdkdw">
-          <body>Inherited virtual destructor</body>
-        </ownedComment>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_1ISAACudEeOcwILjsIdkdw" name="Class3">
-        <ownedComment xmi:type="uml:Comment" xmi:id="_JBPugCueEeOcwILjsIdkdw" annotatedElement="_1ISAACudEeOcwILjsIdkdw">
-          <body>Default constructor</body>
-        </ownedComment>
-      </ownedOperation>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_-j3HgCrKEeOncLSXAkfRBA" name="Class4">
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_OIbRcCujEeOcwILjsIdkdw" name="c3" type="_29UM4CrKEeOncLSXAkfRBA"/>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_k18HwCw-EeOcwILjsIdkdw" name="charVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_qj4iACw-EeOcwILjsIdkdw" name="doubleVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_snupECw-EeOcwILjsIdkdw" name="floatVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7W3wkBydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_u2rM4Cw-EeOcwILjsIdkdw" name="intVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_ystDQCw-EeOcwILjsIdkdw" name="longVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_1Yde4Cw-EeOcwILjsIdkdw" name="longDoubleVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DLNPkByeEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_-XZv0Cw-EeOcwILjsIdkdw" name="shortVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_K-lFQByeEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_Aj1LICw_EeOcwILjsIdkdw" name="unsignedIntVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_UexPkCw_EeOcwILjsIdkdw" name="unsignedShortVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_V5vyUByeEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_bIofgCw_EeOcwILjsIdkdw" name="unsignedCharVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_YYWiwByeEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_ddUe8Cw_EeOcwILjsIdkdw" name="unsignedLongVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_a1wZUByeEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_f2ShcCw_EeOcwILjsIdkdw" name="boolVar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_tJYOgCxHEeOcwILjsIdkdw" name="arrayDoubleDefault">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_CWUEUCxeEeOcwILjsIdkdw" name="arrayCharInit">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_f7m3YDECEeOSfbt-FmCdoQ" name="charString">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_NBtLYDHBEeOOEc5pE2t6oQ" name="ptrChar">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_u7S7ADHMEeOOEc5pE2t6oQ" name="charStringStaticInit" isStatic="true">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-        <defaultValue xmi:type="uml:LiteralString" xmi:id="_FT8swGwdEeOUiKqqNL5BkQ" value="&quot;Hello World&quot;"/>
-      </ownedAttribute>
-      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_lIB18CxBEeOcwILjsIdkdw" name="pChar"/>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_hTMV0CumEeOcwILjsIdkdw" name="Class5" isAbstract="true">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_kJlUICumEeOcwILjsIdkdw" annotatedElement="_hTMV0CumEeOcwILjsIdkdw">
-        <body>C++ Virtual Interface</body>
-      </ownedComment>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_u_QOYCxwEeOcwILjsIdkdw" name="externalProp">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_mBTqwCumEeOcwILjsIdkdw" name="pureVirtualOp" isAbstract="true">
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_OCGvICw0EeOcwILjsIdkdw" name="iReturn" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_UZnq0Cw0EeOcwILjsIdkdw" name="pureVirtualConstOp" isAbstract="true">
-        <ownedParameter xmi:type="uml:Parameter" xmi:id="_jlwd0Cw0EeOcwILjsIdkdw" name="iReturn" direction="return">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedParameter>
-      </ownedOperation>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_OJ7A0CxUEeOcwILjsIdkdw" name="Class6">
-      <ownedComment xmi:type="uml:Comment" xmi:id="_XOFuMGwJEeOUiKqqNL5BkQ" annotatedElement="_OJ7A0CxUEeOcwILjsIdkdw">
-        <body>Virtual class inheritance and class instantiation</body>
-      </ownedComment>
-      <generalization xmi:type="uml:Generalization" xmi:id="_ruktUCxbEeOcwILjsIdkdw" general="_hTMV0CumEeOcwILjsIdkdw"/>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_YZNvQCxoEeOcwILjsIdkdw" name="class3" type="_29UM4CrKEeOncLSXAkfRBA" association="_YZOWUCxoEeOcwILjsIdkdw">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YZNvQSxoEeOcwILjsIdkdw" value="1"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YZNvQixoEeOcwILjsIdkdw" value="1"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_YZOWUCxoEeOcwILjsIdkdw" name="class6_class3_1" memberEnd="_YZOWUSxoEeOcwILjsIdkdw _YZNvQCxoEeOcwILjsIdkdw">
-      <ownedEnd xmi:type="uml:Property" xmi:id="_YZOWUSxoEeOcwILjsIdkdw" name="class6" type="_OJ7A0CxUEeOcwILjsIdkdw" association="_YZOWUCxoEeOcwILjsIdkdw">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YZOWUixoEeOcwILjsIdkdw"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YZOWUyxoEeOcwILjsIdkdw" value="*"/>
-      </ownedEnd>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_ZqD3YCz9EeOcwILjsIdkdw" name="Class7">
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_oxYb0Cz9EeOcwILjsIdkdw" name="externProp" visibility="package">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_1oxvkCz-EeOcwILjsIdkdw" name="staticProp" isStatic="true">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:type="uml:Property" xmi:id="_RHyasC0FEeOcwILjsIdkdw" name="defaultProp">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_m7wOYDHIEeOOEc5pE2t6oQ" name="" value="43"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_nZ5DgDEmEeOSfbt-FmCdoQ" name="Package1">
-      <packagedElement xmi:type="uml:Class" xmi:id="_qS9iYDEmEeOSfbt-FmCdoQ" name="Class8">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_ncw74DEnEeOSfbt-FmCdoQ" name="defaultIValue">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_oxQ9wDE0EeOSfbt-FmCdoQ" name="INT_WORLD" value="12"/>
-        </ownedAttribute>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_03LAoDEpEeOSfbt-FmCdoQ" name="operation1">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_LfwXEDEqEeOSfbt-FmCdoQ" name="iVal1">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_e8_WYDErEeOSfbt-FmCdoQ" name="iVal2" effect="read">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_8dO2QDEtEeOSfbt-FmCdoQ" name="LOL" value="2"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_g_QwIDErEeOSfbt-FmCdoQ" name="cVal1" effect="update">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mGIjUDErEeOSfbt-FmCdoQ" name="cVal2" effect="delete">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
-          </ownedParameter>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_LjgjwDEsEeOSfbt-FmCdoQ" name="this" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ukQ7UDEtEeOSfbt-FmCdoQ" value="1"/>
-            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ukT-oDEtEeOSfbt-FmCdoQ" value="1"/>
-            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_LjgjwTEsEeOSfbt-FmCdoQ" name="INT_DEFAULT" value="42"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_18bYgDEpEeOSfbt-FmCdoQ" name="operation2">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_oEtfUGwEEeOUiKqqNL5BkQ" name="iVal1">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Class" xmi:id="_jcK5MDG0EeOOEc5pE2t6oQ" name="Class9">
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_mcsD4DG0EeOOEc5pE2t6oQ" name="volatileAttribute">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_nXAXEDG0EeOOEc5pE2t6oQ" name="registerAttribute">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_1om3gHx-EeOJEKG9thf66A" annotatedElement="_nXAXEDG0EeOOEc5pE2t6oQ">
-            <body>Should not generate 'register' keyword as 'register' only applies to properties declared within the scope of an operation.</body>
-          </ownedComment>
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-        </ownedAttribute>
-        <ownedAttribute xmi:type="uml:Property" xmi:id="_ogWkwDG0EeOOEc5pE2t6oQ" name="externAttribute" visibility="package">
-          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_kT4K4Hx_EeOJEKG9thf66A" name="" value="3"/>
-        </ownedAttribute>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_qtEKQHxuEeOJEKG9thf66A" name="volatileIntOperation">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ncNyoHxwEeOJEKG9thf66A" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_CTJY0HxxEeOJEKG9thf66A" name="registerOperation">
-          <ownedComment xmi:type="uml:Comment" xmi:id="_93hZsHx-EeOJEKG9thf66A" annotatedElement="_CTJY0HxxEeOJEKG9thf66A">
-            <body>Should not generate the 'register' keyword as it cannot be used in method signatures.</body>
-          </ownedComment>
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Fs7YEHxxEeOJEKG9thf66A" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-        <ownedOperation xmi:type="uml:Operation" xmi:id="_IX230HxyEeOJEKG9thf66A" name="externOperation" visibility="package">
-          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Nx8h8HxyEeOJEKG9thf66A" name="" direction="return">
-            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
-          </ownedParameter>
-        </ownedOperation>
-      </packagedElement>
-    </packagedElement>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_CS78MCoZEeOncLSXAkfRBA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CTHiYCoZEeOncLSXAkfRBA" 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="_oCdSgGNyEeO-Le8KnWSqzQ">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oCxbkGNyEeO-Le8KnWSqzQ" 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>
-  </uml:Model>
-  <C_Cpp:Inline xmi:id="_JIPJUCuIEeOcwILjsIdkdw" base_operation="_HtC9sCuIEeOcwILjsIdkdw"/>
-  <C_Cpp:Friend xmi:id="_2YLpACuaEeOcwILjsIdkdw" base_operation="_MZs6ECuIEeOcwILjsIdkdw"/>
-  <C_Cpp:Virtual xmi:id="_7PMbQCuaEeOcwILjsIdkdw" base_operation="_6QndgCt2EeOcwILjsIdkdw"/>
-  <C_Cpp:Virtual xmi:id="_aQVGICudEeOcwILjsIdkdw" base_operation="_Ub5CUCudEeOcwILjsIdkdw"/>
-  <C_Cpp:Ptr xmi:id="_m8i9QCuhEeOcwILjsIdkdw" base_parameter="_aK_y0CugEeOcwILjsIdkdw" declaration=""/>
-  <C_Cpp:Ptr xmi:id="_e6lAACujEeOcwILjsIdkdw" base_property="_OIbRcCujEeOcwILjsIdkdw"/>
-  <C_Cpp:Ptr xmi:id="_lZJuECw0EeOcwILjsIdkdw" base_parameter="_jlwd0Cw0EeOcwILjsIdkdw"/>
-  <C_Cpp:Typedef xmi:id="_sIiEQCxBEeOcwILjsIdkdw" definition="char *" base_primitivetype="_lIB18CxBEeOcwILjsIdkdw"/>
-  <C_Cpp:Array xmi:id="_1DLcUCxHEeOcwILjsIdkdw" definition="[13]" base_property="_tJYOgCxHEeOcwILjsIdkdw"/>
-  <C_Cpp:Array xmi:id="_H5buoCxeEeOcwILjsIdkdw" definition="[11]={'h','e','l','l','o',' ','w','o','r','l','d'}" base_property="_CWUEUCxeEeOcwILjsIdkdw"/>
-  <C_Cpp:NoCodeGen xmi:id="_Sp100CxsEeOcwILjsIdkdw" base_element="_YZOWUCxoEeOcwILjsIdkdw"/>
-  <C_Cpp:Include xmi:id="_FXyJoC0AEeOcwILjsIdkdw" header="#define helloworld 3" base_class="_ZqD3YCz9EeOcwILjsIdkdw"/>
-  <C_Cpp:Ptr xmi:id="_FeAvgDEIEeOSfbt-FmCdoQ" base_property="_f7m3YDECEeOSfbt-FmCdoQ"/>
-  <C_Cpp:Ptr xmi:id="_pmaiADHBEeOOEc5pE2t6oQ" base_property="_NBtLYDHBEeOOEc5pE2t6oQ"/>
-  <C_Cpp:Const xmi:id="_uj4IQDHGEeOOEc5pE2t6oQ" base_operation="_fGJ2ADHGEeOOEc5pE2t6oQ"/>
-  <C_Cpp:Include xmi:id="_fO_McDHHEeOOEc5pE2t6oQ" body="#include &lt;Class1.h>" base_class="_0E-t0CrKEeOncLSXAkfRBA"/>
-  <standard:Create xmi:id="_ts_zcGNyEeO-Le8KnWSqzQ" base_BehavioralFeature="_fvQ-oCraEeOncLSXAkfRBA"/>
-  <standard:Destroy xmi:id="_ugUt0GNyEeO-Le8KnWSqzQ" base_BehavioralFeature="_b2v08CraEeOncLSXAkfRBA"/>
-  <C_Cpp:Const xmi:id="_XmGNoGdrEeOvh505Y4rydA" base_parameter="_XmDKUGdrEeOvh505Y4rydA"/>
-  <C_Cpp:Ref xmi:id="_XmJQ8GdrEeOvh505Y4rydA" base_parameter="_XmDKUGdrEeOvh505Y4rydA"/>
-  <C_Cpp:Ptr xmi:id="_4rG88GwcEeOUiKqqNL5BkQ" base_property="_u7S7ADHMEeOOEc5pE2t6oQ"/>
-  <standard:Create xmi:id="_gBWuEGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_1ISAACudEeOcwILjsIdkdw"/>
-  <standard:Destroy xmi:id="_gt0LcGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_du7T8CudEeOcwILjsIdkdw"/>
-  <standard:Destroy xmi:id="_7DEn8GweEeOUiKqqNL5BkQ" base_BehavioralFeature="_Ub5CUCudEeOcwILjsIdkdw"/>
-  <standard:Create xmi:id="_8zGbIGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_HV3R8Ct2EeOcwILjsIdkdw"/>
-  <standard:Create xmi:id="_9_6zkGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_8h2VwCt1EeOcwILjsIdkdw"/>
-  <C_Cpp:Include xmi:id="_ukoB8DcWEeejPb6HKM5TOA" body="#include &lt;CLass2.h>" base_class="_29UM4CrKEeOncLSXAkfRBA" base_Classifier="_29UM4CrKEeOncLSXAkfRBA"/>
-  <C_Cpp:Include xmi:id="_A-DQUDcXEeejPb6HKM5TOA" body="#include &lt;Class3.h>" base_class="_-j3HgCrKEeOncLSXAkfRBA" base_Classifier="_-j3HgCrKEeOncLSXAkfRBA"/>
-  <C_Cpp:Include xmi:id="_FliY0DcXEeejPb6HKM5TOA" body="#include &lt;Class5.h>&#xD;&#xA;#include &lt;Class3.h>" base_class="_OJ7A0CxUEeOcwILjsIdkdw" base_Classifier="_OJ7A0CxUEeOcwILjsIdkdw"/>
-</xmi:XMI>
+<?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:Codegen="http://www.eclipse.org/papyrus/Codegen/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="_1_ToYCoNEeOncLSXAkfRBA" name="CCodegenTest">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_1_ToYSoNEeOncLSXAkfRBA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_TaxOkCoTEeOncLSXAkfRBA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DV8nkBv8EduZN5aJJITI5w"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_x6ArECrKEeOncLSXAkfRBA" name="Class1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_U4LD0CrbEeOncLSXAkfRBA" name="iVal" visibility="private">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_9--NUCtwEeOcwILjsIdkdw" name="Class1" specification="_fvQ-oCraEeOncLSXAkfRBA">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_XmDKUWdrEeOvh505Y4rydA" name="cSource" type="_x6ArECrKEeOncLSXAkfRBA"/>
+        <language>C/C++</language>
+        <body>self->iVal = cSource.iVal;&#xD;</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_KtFesCtxEeOcwILjsIdkdw" name="~Class1" specification="_b2v08CraEeOncLSXAkfRBA">
+        <language>C/C++</language>
+        <body>
+&#xD;</body>
+      </ownedBehavior>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_b2v08CraEeOncLSXAkfRBA" name="~Class1" method="_KtFesCtxEeOcwILjsIdkdw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_LY0YwCtwEeOcwILjsIdkdw" annotatedElement="_b2v08CraEeOncLSXAkfRBA">
+          <body>Destructor</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_fvQ-oCraEeOncLSXAkfRBA" name="Class1" method="_9--NUCtwEeOcwILjsIdkdw" isQuery="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_PvFOYCtwEeOcwILjsIdkdw" annotatedElement="_fvQ-oCraEeOncLSXAkfRBA">
+          <body>Copy constructor</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_XmDKUGdrEeOvh505Y4rydA" name="cSource" type="_x6ArECrKEeOncLSXAkfRBA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_13uG0DbvEeejPb6HKM5TOA" name="*self" type="_x6ArECrKEeOncLSXAkfRBA"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_0E-t0CrKEeOncLSXAkfRBA" name="Class2">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_8hdewCt2EeOcwILjsIdkdw" name="bVal">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_0sh-ADHFEeOOEc5pE2t6oQ" annotatedElement="_8hdewCt2EeOcwILjsIdkdw">
+          <body>boolean  value with public visibility</body>
+        </ownedComment>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NkSbsCt5EeOcwILjsIdkdw" name="iVal1" visibility="protected">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_uOkcEDHFEeOOEc5pE2t6oQ" annotatedElement="_NkSbsCt5EeOcwILjsIdkdw">
+          <body>int value with protected visibility</body>
+        </ownedComment>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6uDGwCt-EeOcwILjsIdkdw" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6uDt0Ct-EeOcwILjsIdkdw" value="1"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OalxkCt5EeOcwILjsIdkdw" name="iVal2" visibility="private">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_tJ-ykDHFEeOOEc5pE2t6oQ" annotatedElement="_OalxkCt5EeOcwILjsIdkdw">
+          <body>int value with private visibility</body>
+        </ownedComment>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_RB9HUCt3EeOcwILjsIdkdw" name="Class2" specification="_HV3R8Ct2EeOcwILjsIdkdw">
+        <language>C/C++</language>
+        <body>self->iVal1 = newIVal1;&#xD;
+self->iVal2 = newIVal2;&#xD;
+self->bVal = newBVal;</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_wrOJMCt5EeOcwILjsIdkdw" name="virtualOp" specification="_6QndgCt2EeOcwILjsIdkdw">
+        <language>C/C++</language>
+        <body></body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_X_ZAQCuHEeOcwILjsIdkdw" name="Class2" specification="_8h2VwCt1EeOcwILjsIdkdw">
+        <language>C/C++</language>
+        <body>self->iVal1 = 0;&#xD;
+self->iVal2 = 0;&#xD;
+self->bVal = 'f';</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_q-ZzYC0FEeOcwILjsIdkdw" name="inlineOp" specification="_HtC9sCuIEeOcwILjsIdkdw">
+        <language>C/C++</language>
+        <body>return a+b;</body>
+      </ownedBehavior>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_rqzpYDHGEeOOEc5pE2t6oQ" name="constOps" specification="_fGJ2ADHGEeOOEc5pE2t6oQ">
+        <language>C/C++</language>
+        <body>printf(&quot;I am a const method\n&quot;);</body>
+      </ownedBehavior>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_8h2VwCt1EeOcwILjsIdkdw" name="Class2_1" method="_X_ZAQCuHEeOcwILjsIdkdw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_Cubz0Ct2EeOcwILjsIdkdw" annotatedElement="_8h2VwCt1EeOcwILjsIdkdw">
+          <body>Default constructor</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_vKar4DbwEeejPb6HKM5TOA" name="*self" type="_0E-t0CrKEeOncLSXAkfRBA"/>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_HV3R8Ct2EeOcwILjsIdkdw" name="Class2" method="_RB9HUCt3EeOcwILjsIdkdw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_327CQCt2EeOcwILjsIdkdw" annotatedElement="_HV3R8Ct2EeOcwILjsIdkdw">
+          <body>Constructor with parameters</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_1ZSiMCt2EeOcwILjsIdkdw" name="newIVal1">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_f5oS8CuHEeOcwILjsIdkdw" name="newIVal2">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_mBfpECuHEeOcwILjsIdkdw" name="newBVal">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ALFNADbwEeejPb6HKM5TOA" name="*self" type="_0E-t0CrKEeOncLSXAkfRBA"/>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_6QndgCt2EeOcwILjsIdkdw" name="virtualOp" method="_wrOJMCt5EeOcwILjsIdkdw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_6F9lUCt5EeOcwILjsIdkdw" annotatedElement="_6QndgCt2EeOcwILjsIdkdw">
+          <body>Virtual method</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_LmW-oGwgEeOUiKqqNL5BkQ" name="a">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_NOv4wGwgEeOUiKqqNL5BkQ" name="b">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_O0AmYGwgEeOUiKqqNL5BkQ" name="" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_EOE8cCuIEeOcwILjsIdkdw" name="staticOp" isStatic="true">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_dGa0YCubEeOcwILjsIdkdw" annotatedElement="_EOE8cCuIEeOcwILjsIdkdw">
+          <body>Static method</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_HtC9sCuIEeOcwILjsIdkdw" name="inlineOp" method="_q-ZzYC0FEeOcwILjsIdkdw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_edOPQCubEeOcwILjsIdkdw" annotatedElement="_HtC9sCuIEeOcwILjsIdkdw">
+          <body>Inline method</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_GXNQADHGEeOOEc5pE2t6oQ" name="a">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_IBIbMDHGEeOOEc5pE2t6oQ" name="b">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_X2lQ8DHGEeOOEc5pE2t6oQ" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_MZs6ECuIEeOcwILjsIdkdw" name="friendOp">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_gnRsACubEeOcwILjsIdkdw" annotatedElement="_MZs6ECuIEeOcwILjsIdkdw">
+          <body>Friend method</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_PbnYoCuYEeOcwILjsIdkdw" name="nonStaticOp">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_jPwxMCubEeOcwILjsIdkdw" annotatedElement="_PbnYoCuYEeOcwILjsIdkdw">
+          <body>Non-static method</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_WoYhUCuYEeOcwILjsIdkdw" name="paramsOp">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_nGVaICubEeOcwILjsIdkdw" annotatedElement="_WoYhUCuYEeOcwILjsIdkdw">
+          <body>Method with in, out, inout, return parameters</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_e2H-0CuYEeOcwILjsIdkdw" name="in">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ghAzUCuYEeOcwILjsIdkdw" name="out" direction="out">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_iKAKYCuYEeOcwILjsIdkdw" name="inout" direction="inout">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_lPf7sCuYEeOcwILjsIdkdw" name="ret" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_C4qY8CuZEeOcwILjsIdkdw" name="voidOp">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_M-gwoDHFEeOOEc5pE2t6oQ" annotatedElement="_C4qY8CuZEeOcwILjsIdkdw">
+          <body>Void Method</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_DHEZoCufEeOcwILjsIdkdw" name="" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8I6RgBydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Rmpa4CuaEeOcwILjsIdkdw" name="defaultValueOp">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_ovlsYCuaEeOcwILjsIdkdw" name="newIVal1">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_ovlsYSuaEeOcwILjsIdkdw" name="DEFAULT_INT"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Ub5CUCudEeOcwILjsIdkdw" name="~Class2">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_9HrlYDHFEeOOEc5pE2t6oQ" annotatedElement="_Ub5CUCudEeOcwILjsIdkdw">
+          <body>Virtual destructor</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_MRiIoCugEeOcwILjsIdkdw" name="classesOp">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_Xd-L4CugEeOcwILjsIdkdw" name="c1" type="_x6ArECrKEeOncLSXAkfRBA"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_aK_y0CugEeOcwILjsIdkdw" name="" type="_x6ArECrKEeOncLSXAkfRBA" direction="return"/>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_fGJ2ADHGEeOOEc5pE2t6oQ" name="constOp" method="_rqzpYDHGEeOOEc5pE2t6oQ">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_sz0qcDHHEeOOEc5pE2t6oQ" annotatedElement="_fGJ2ADHGEeOOEc5pE2t6oQ">
+          <body>Const method</body>
+        </ownedComment>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_29UM4CrKEeOncLSXAkfRBA" name="Class3">
+      <generalization xmi:type="uml:Generalization" xmi:id="_EN-zoCt5EeOcwILjsIdkdw" general="_0E-t0CrKEeOncLSXAkfRBA"/>
+      <ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_0ekfACt5EeOcwILjsIdkdw" name="virtualOp" specification="_IoFAYCt5EeOcwILjsIdkdw">
+        <language>C/C++</language>
+        <body>return a+b;</body>
+      </ownedBehavior>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_IoFAYCt5EeOcwILjsIdkdw" name="virtualOp" method="_0ekfACt5EeOcwILjsIdkdw">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_4qnosCt5EeOcwILjsIdkdw" annotatedElement="_IoFAYCt5EeOcwILjsIdkdw">
+          <body>Inherited method overriding.</body>
+        </ownedComment>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_7owzgDHJEeOOEc5pE2t6oQ" name="a">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_991NcDHJEeOOEc5pE2t6oQ" name="b">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_HsJs4DHKEeOOEc5pE2t6oQ" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_du7T8CudEeOcwILjsIdkdw" name="~Class3">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_Fr_C4CueEeOcwILjsIdkdw" annotatedElement="_du7T8CudEeOcwILjsIdkdw">
+          <body>Inherited virtual destructor</body>
+        </ownedComment>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_1ISAACudEeOcwILjsIdkdw" name="Class3">
+        <ownedComment xmi:type="uml:Comment" xmi:id="_JBPugCueEeOcwILjsIdkdw" annotatedElement="_1ISAACudEeOcwILjsIdkdw">
+          <body>Default constructor</body>
+        </ownedComment>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_-j3HgCrKEeOncLSXAkfRBA" name="Class4">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OIbRcCujEeOcwILjsIdkdw" name="c3" type="_29UM4CrKEeOncLSXAkfRBA"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_k18HwCw-EeOcwILjsIdkdw" name="charVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qj4iACw-EeOcwILjsIdkdw" name="doubleVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_snupECw-EeOcwILjsIdkdw" name="floatVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7W3wkBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_u2rM4Cw-EeOcwILjsIdkdw" name="intVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ystDQCw-EeOcwILjsIdkdw" name="longVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1Yde4Cw-EeOcwILjsIdkdw" name="longDoubleVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_DLNPkByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-XZv0Cw-EeOcwILjsIdkdw" name="shortVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_K-lFQByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Aj1LICw_EeOcwILjsIdkdw" name="unsignedIntVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_LTZesByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_UexPkCw_EeOcwILjsIdkdw" name="unsignedShortVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_V5vyUByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_bIofgCw_EeOcwILjsIdkdw" name="unsignedCharVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_YYWiwByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ddUe8Cw_EeOcwILjsIdkdw" name="unsignedLongVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_a1wZUByeEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_f2ShcCw_EeOcwILjsIdkdw" name="boolVar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_vAIV4I7PEdySGvm5GN66HA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_tJYOgCxHEeOcwILjsIdkdw" name="arrayDoubleDefault">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_6j0jABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_CWUEUCxeEeOcwILjsIdkdw" name="arrayCharInit">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_f7m3YDECEeOSfbt-FmCdoQ" name="charString">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_NBtLYDHBEeOOEc5pE2t6oQ" name="ptrChar">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_u7S7ADHMEeOOEc5pE2t6oQ" name="charStringStaticInit" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_FT8swGwdEeOUiKqqNL5BkQ" value="&quot;Hello World&quot;"/>
+      </ownedAttribute>
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_lIB18CxBEeOcwILjsIdkdw" name="pChar"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_hTMV0CumEeOcwILjsIdkdw" name="Class5" isAbstract="true">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_kJlUICumEeOcwILjsIdkdw" annotatedElement="_hTMV0CumEeOcwILjsIdkdw">
+        <body>C++ Virtual Interface</body>
+      </ownedComment>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_u_QOYCxwEeOcwILjsIdkdw" name="externalProp">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_mBTqwCumEeOcwILjsIdkdw" name="pureVirtualOp" isAbstract="true">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_OCGvICw0EeOcwILjsIdkdw" name="iReturn" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_UZnq0Cw0EeOcwILjsIdkdw" name="pureVirtualConstOp" isAbstract="true">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_jlwd0Cw0EeOcwILjsIdkdw" name="iReturn" direction="return">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedParameter>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_OJ7A0CxUEeOcwILjsIdkdw" name="Class6">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_XOFuMGwJEeOUiKqqNL5BkQ" annotatedElement="_OJ7A0CxUEeOcwILjsIdkdw">
+        <body>Virtual class inheritance and class instantiation</body>
+      </ownedComment>
+      <generalization xmi:type="uml:Generalization" xmi:id="_ruktUCxbEeOcwILjsIdkdw" general="_hTMV0CumEeOcwILjsIdkdw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_YZNvQCxoEeOcwILjsIdkdw" name="class3" type="_29UM4CrKEeOncLSXAkfRBA" association="_YZOWUCxoEeOcwILjsIdkdw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YZNvQSxoEeOcwILjsIdkdw" value="1"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YZNvQixoEeOcwILjsIdkdw" value="1"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_YZOWUCxoEeOcwILjsIdkdw" name="class6_class3_1" memberEnd="_YZOWUSxoEeOcwILjsIdkdw _YZNvQCxoEeOcwILjsIdkdw">
+      <ownedEnd xmi:type="uml:Property" xmi:id="_YZOWUSxoEeOcwILjsIdkdw" name="class6" type="_OJ7A0CxUEeOcwILjsIdkdw" association="_YZOWUCxoEeOcwILjsIdkdw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YZOWUixoEeOcwILjsIdkdw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YZOWUyxoEeOcwILjsIdkdw" value="*"/>
+      </ownedEnd>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_ZqD3YCz9EeOcwILjsIdkdw" name="Class7">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_oxYb0Cz9EeOcwILjsIdkdw" name="externProp" visibility="package">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_1oxvkCz-EeOcwILjsIdkdw" name="staticProp" isStatic="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_RHyasC0FEeOcwILjsIdkdw" name="defaultProp">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_m7wOYDHIEeOOEc5pE2t6oQ" name="" value="43"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_nZ5DgDEmEeOSfbt-FmCdoQ" name="Package1">
+      <packagedElement xmi:type="uml:Class" xmi:id="_qS9iYDEmEeOSfbt-FmCdoQ" name="Class8">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_ncw74DEnEeOSfbt-FmCdoQ" name="defaultIValue">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_oxQ9wDE0EeOSfbt-FmCdoQ" name="INT_WORLD" value="12"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_03LAoDEpEeOSfbt-FmCdoQ" name="operation1">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_LfwXEDEqEeOSfbt-FmCdoQ" name="iVal1">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_e8_WYDErEeOSfbt-FmCdoQ" name="iVal2" effect="read">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_8dO2QDEtEeOSfbt-FmCdoQ" name="LOL" value="2"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_g_QwIDErEeOSfbt-FmCdoQ" name="cVal1" effect="update">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_mGIjUDErEeOSfbt-FmCdoQ" name="cVal2" effect="delete">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
+          </ownedParameter>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_LjgjwDEsEeOSfbt-FmCdoQ" name="this" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ukQ7UDEtEeOSfbt-FmCdoQ" value="1"/>
+            <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ukT-oDEtEeOSfbt-FmCdoQ" value="1"/>
+            <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_LjgjwTEsEeOSfbt-FmCdoQ" name="INT_DEFAULT" value="42"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_18bYgDEpEeOSfbt-FmCdoQ" name="operation2">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_oEtfUGwEEeOUiKqqNL5BkQ" name="iVal1">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Class" xmi:id="_jcK5MDG0EeOOEc5pE2t6oQ" name="Class9">
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_mcsD4DG0EeOOEc5pE2t6oQ" name="volatileAttribute">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_nXAXEDG0EeOOEc5pE2t6oQ" name="registerAttribute">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_1om3gHx-EeOJEKG9thf66A" annotatedElement="_nXAXEDG0EeOOEc5pE2t6oQ">
+            <body>Should not generate 'register' keyword as 'register' only applies to properties declared within the scope of an operation.</body>
+          </ownedComment>
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_ogWkwDG0EeOOEc5pE2t6oQ" name="externAttribute" visibility="package">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_kT4K4Hx_EeOJEKG9thf66A" name="" value="3"/>
+        </ownedAttribute>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_qtEKQHxuEeOJEKG9thf66A" name="volatileIntOperation">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_ncNyoHxwEeOJEKG9thf66A" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_CTJY0HxxEeOJEKG9thf66A" name="registerOperation">
+          <ownedComment xmi:type="uml:Comment" xmi:id="_93hZsHx-EeOJEKG9thf66A" annotatedElement="_CTJY0HxxEeOJEKG9thf66A">
+            <body>Should not generate the 'register' keyword as it cannot be used in method signatures.</body>
+          </ownedComment>
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Fs7YEHxxEeOJEKG9thf66A" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+        <ownedOperation xmi:type="uml:Operation" xmi:id="_IX230HxyEeOJEKG9thf66A" name="externOperation" visibility="package">
+          <ownedParameter xmi:type="uml:Parameter" xmi:id="_Nx8h8HxyEeOJEKG9thf66A" name="" direction="return">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
+          </ownedParameter>
+        </ownedOperation>
+      </packagedElement>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_CS78MCoZEeOncLSXAkfRBA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CTHiYCoZEeOncLSXAkfRBA" 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="_oCdSgGNyEeO-Le8KnWSqzQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_oCxbkGNyEeO-Le8KnWSqzQ" 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="_Jiss4IJbEeqNJspmoZA5fA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JivwMIJbEeqNJspmoZA5fA" 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>
+  <C_Cpp:Inline xmi:id="_JIPJUCuIEeOcwILjsIdkdw" base_operation="_HtC9sCuIEeOcwILjsIdkdw"/>
+  <C_Cpp:Friend xmi:id="_2YLpACuaEeOcwILjsIdkdw" base_operation="_MZs6ECuIEeOcwILjsIdkdw"/>
+  <C_Cpp:Virtual xmi:id="_7PMbQCuaEeOcwILjsIdkdw" base_operation="_6QndgCt2EeOcwILjsIdkdw"/>
+  <C_Cpp:Virtual xmi:id="_aQVGICudEeOcwILjsIdkdw" base_operation="_Ub5CUCudEeOcwILjsIdkdw"/>
+  <C_Cpp:Ptr xmi:id="_m8i9QCuhEeOcwILjsIdkdw" base_parameter="_aK_y0CugEeOcwILjsIdkdw" declaration=""/>
+  <C_Cpp:Ptr xmi:id="_e6lAACujEeOcwILjsIdkdw" base_property="_OIbRcCujEeOcwILjsIdkdw"/>
+  <C_Cpp:Ptr xmi:id="_lZJuECw0EeOcwILjsIdkdw" base_parameter="_jlwd0Cw0EeOcwILjsIdkdw"/>
+  <C_Cpp:Typedef xmi:id="_sIiEQCxBEeOcwILjsIdkdw" definition="char *" base_primitivetype="_lIB18CxBEeOcwILjsIdkdw"/>
+  <C_Cpp:Array xmi:id="_1DLcUCxHEeOcwILjsIdkdw" definition="[13]" base_property="_tJYOgCxHEeOcwILjsIdkdw"/>
+  <C_Cpp:Array xmi:id="_H5buoCxeEeOcwILjsIdkdw" definition="[11]={'h','e','l','l','o',' ','w','o','r','l','d'}" base_property="_CWUEUCxeEeOcwILjsIdkdw"/>
+  <C_Cpp:Include xmi:id="_FXyJoC0AEeOcwILjsIdkdw" header="#define helloworld 3" base_class="_ZqD3YCz9EeOcwILjsIdkdw" base_Classifier="_ZqD3YCz9EeOcwILjsIdkdw"/>
+  <C_Cpp:Ptr xmi:id="_FeAvgDEIEeOSfbt-FmCdoQ" base_property="_f7m3YDECEeOSfbt-FmCdoQ"/>
+  <C_Cpp:Ptr xmi:id="_pmaiADHBEeOOEc5pE2t6oQ" base_property="_NBtLYDHBEeOOEc5pE2t6oQ"/>
+  <C_Cpp:Const xmi:id="_uj4IQDHGEeOOEc5pE2t6oQ" base_operation="_fGJ2ADHGEeOOEc5pE2t6oQ"/>
+  <C_Cpp:Include xmi:id="_fO_McDHHEeOOEc5pE2t6oQ" body="#include &lt;Class1.h>" base_class="_0E-t0CrKEeOncLSXAkfRBA" base_Classifier="_0E-t0CrKEeOncLSXAkfRBA"/>
+  <standard:Create xmi:id="_ts_zcGNyEeO-Le8KnWSqzQ" base_BehavioralFeature="_fvQ-oCraEeOncLSXAkfRBA"/>
+  <standard:Destroy xmi:id="_ugUt0GNyEeO-Le8KnWSqzQ" base_BehavioralFeature="_b2v08CraEeOncLSXAkfRBA"/>
+  <C_Cpp:Const xmi:id="_XmGNoGdrEeOvh505Y4rydA" base_parameter="_XmDKUGdrEeOvh505Y4rydA"/>
+  <C_Cpp:Ref xmi:id="_XmJQ8GdrEeOvh505Y4rydA" base_parameter="_XmDKUGdrEeOvh505Y4rydA"/>
+  <C_Cpp:Ptr xmi:id="_4rG88GwcEeOUiKqqNL5BkQ" base_property="_u7S7ADHMEeOOEc5pE2t6oQ"/>
+  <standard:Create xmi:id="_gBWuEGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_1ISAACudEeOcwILjsIdkdw"/>
+  <standard:Destroy xmi:id="_gt0LcGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_du7T8CudEeOcwILjsIdkdw"/>
+  <standard:Destroy xmi:id="_7DEn8GweEeOUiKqqNL5BkQ" base_BehavioralFeature="_Ub5CUCudEeOcwILjsIdkdw"/>
+  <standard:Create xmi:id="_8zGbIGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_HV3R8Ct2EeOcwILjsIdkdw"/>
+  <standard:Create xmi:id="_9_6zkGweEeOUiKqqNL5BkQ" base_BehavioralFeature="_8h2VwCt1EeOcwILjsIdkdw"/>
+  <C_Cpp:Include xmi:id="_ukoB8DcWEeejPb6HKM5TOA" body="#include &lt;Class1.h>&#xA;#include &lt;Class2.h>" base_class="_29UM4CrKEeOncLSXAkfRBA" base_Classifier="_29UM4CrKEeOncLSXAkfRBA"/>
+  <C_Cpp:Include xmi:id="_A-DQUDcXEeejPb6HKM5TOA" body="#include &lt;Class3.h>" base_class="_-j3HgCrKEeOncLSXAkfRBA" base_Classifier="_-j3HgCrKEeOncLSXAkfRBA"/>
+  <C_Cpp:Include xmi:id="_FliY0DcXEeejPb6HKM5TOA" body="#include &lt;Class5.h>&#xD;&#xA;#include &lt;Class3.h>" base_class="_OJ7A0CxUEeOcwILjsIdkdw" base_Classifier="_OJ7A0CxUEeOcwILjsIdkdw"/>
+  <Codegen:NoCodeGen xmi:id="_K7mZgIJbEeqNJspmoZA5fA" base_Element="_YZOWUCxoEeOcwILjsIdkdw"/>
+  <Codegen:GeneratorHint xmi:id="_6r2_AIJbEeqDZOQT-Tr1OQ" base_Element="_1_ToYCoNEeOncLSXAkfRBA" generatorID="Standard C">
+    <language xmi:type="Codegen:Language" href="pathmap://Codegen_PROFILES/languages.uml#_38rh8CjREeayco6FJ_OtTQ"/>
+  </Codegen:GeneratorHint>
+</xmi:XMI>
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/src/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.java b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/src/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.java
index a28bcda..51c4bc4 100644
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/src/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.java
+++ b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/src/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.java
@@ -43,7 +43,7 @@
 		TestInfo.runHeadless();
 	}
 
-	private static final String GENERATE_COMMAND_ID = "org.eclipse.papyrus.designer.languages.c.codegen.command";
+	private static final String GENERATE_COMMAND_ID = "org.eclipse.papyrus.designer.languages.common.codegen.command";
 
 	private static final String ModelName = "CCodegenTest.uml";
 
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/AllPapyrusCCodegenTests.class b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/AllPapyrusCCodegenTests.class
deleted file mode 100644
index c25f2d9..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/AllPapyrusCCodegenTests.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.class b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.class
deleted file mode 100644
index 7ee05ef..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/CCodegenTest.class
+++ /dev/null
Binary files differ
diff --git a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/TestPlugin.class b/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/TestPlugin.class
deleted file mode 100644
index f01946d..0000000
--- a/languages/c/org.eclipse.papyrus.designer.languages.c.tests/target/classes/org/eclipse/papyrus/designer/languages/c/codegen/tests/TestPlugin.class
+++ /dev/null
Binary files differ
