- Align code with current designer (notably NoCodeGen which is now in generic codegen profile)
- Make code warning-free (related to NLS, unused variable, non-needed "public" tags in xtend)
- Minor updates of test-code

Signed-off-by: Ansgar Radermacher <ansgar.radermacher@cea.fr>
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