Bug 544807: [Interoperability][SysML1.4] Migrate the tranformation to
Photon, 2018-09 and 2018-12

- Add the plugins to get the sysml1.1 profile and table configurations
- Manage the target platform for all needed platforms
- Modify transformations to get correct result
- Modify the test after the table configuration referencement

Change-Id: I53175a1fd8c174e1da9dea760d988fd448b1cd44
Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@cea.fr>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml
index d2c9318..1ece7d5 100644
--- a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature"
       label="Papyrus SysML1.1 to SysML1.4 Interoperability Feature"
-      version="0.11.0.qualifier"
+      version="0.12.0.qualifier"
       provider-name="Eclipse Modeling Project">
 
    <copyright url="http://www.eclipse.org/legal/epl-v10.html">
-      Copyright (c) 2017 CEA LIST and others
+      Copyright (c) 2017, 2019 CEA LIST and others
 All rights reserved.   This program and the accompanying materials
 are made available under the terms of the Eclipse Public License
 v1.0
@@ -17,26 +17,6 @@
    <license url="%licenseURL">
       %license
    </license>
-   
-   <includes
-         id="org.eclipse.papyrus.sysml.feature"
-         version="0.0.0"/>
-   
-   <includes
-         id="org.eclipse.papyrus.sysml.diagram.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.papyrus.sysml.properties.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.papyrus.sysml.modelexplorer.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.papyrus.sysml.nattable.feature"
-         version="0.0.0"/>
          
    <includes
          id="org.eclipse.papyrus.sysml14.feature"
@@ -55,6 +35,27 @@
          install-size="0"
          version="0.0.0"
          unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.papyrus.sysml"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+		 
+   <plugin
+         id="org.eclipse.papyrus.sysml.nattable.allocation.config"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.papyrus.sysml.nattable.requirement.config"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
 
    <plugin
          id="org.eclipse.papyrus.interoperability.sysml14.sysml"
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/pom.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/pom.xml
index aaf5c1a..7bd6d77 100644
--- a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/pom.xml
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/pom.xml
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability</groupId>
-	    <artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.features</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.features</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
-	
+
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.feature</artifactId>
 	<packaging>eclipse-feature</packaging>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml
index 99462f6..c00584b 100644
--- a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml
@@ -2,11 +2,11 @@
 <feature
       id="org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature"
       label="Papyrus SysML1.1 to SysML1.4 Interoperability Tests Feature"
-      version="0.11.0.qualifier"
+      version="0.12.0.qualifier"
       provider-name="Eclipse Modeling Project">
 
    <copyright url="http://www.eclipse.org/legal/epl-v10.html">
-      Copyright (c) 2017 CEA LIST and others
+      Copyright (c) 2017, 2019 CEA LIST and others
 All rights reserved.   This program and the accompanying materials
 are made available under the terms of the Eclipse Public License
 v1.0
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/pom.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/pom.xml
index ea81573..a2793eb 100644
--- a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/pom.xml
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/pom.xml
@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability</groupId>
-	    <artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.features</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.features</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
-	
-	<groupId>org.eclipse.papyrus.interoperability.tests</groupId>
+
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature</artifactId>
 	<packaging>eclipse-feature</packaging>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/features/pom.xml b/sysml14/features/pom.xml
index 9757b7d..943c0c5 100755
--- a/sysml14/features/pom.xml
+++ b/sysml14/features/pom.xml
@@ -1,32 +1,29 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability</groupId>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.features</artifactId>
 	<packaging>pom</packaging>
 
+	<modules>
+		<module>org.eclipse.papyrus.interoperability.sysml14.sysml.feature</module>
+	</modules>
+
 	<profiles>
 		<profile>
-			<id>main</id>
+			<id>sysml14tests</id>
 			<modules>
-				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.feature</module>
-			</modules>
-		</profile>
-
-		<profile>
-			<id>tests</id>
-			<modules>
-				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.feature</module>
 				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature</module>
 			</modules>
 		</profile>
 	</profiles>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/META-INF/MANIFEST.MF
index b4e3456..4e07f07 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/META-INF/MANIFEST.MF
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes;singleton:=true
-Bundle-Version: 0.11.0.qualifier
+Bundle-Version: 0.12.0.qualifier
 Bundle-Activator: org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.Activator
 Bundle-Vendor: %providerName
 Require-Bundle: org.eclipse.ui;bundle-version="[3.109.0,4.0.0)",
@@ -12,7 +12,7 @@
  org.eclipse.m2m.qvt.oml;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.uml2.uml;bundle-version="[5.3.0,6.0.0)",
  org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
- org.eclipse.papyrus.infra.nattable.model;bundle-version="[3.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="[4.1.0,5.0.0)",
  org.eclipse.papyrus.infra.gmfdiag.tooling.runtime;bundle-version="[3.0.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/pom.xml b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/pom.xml
index 0a8cf21..89c1b94 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/pom.xml
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes/pom.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
 		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes</artifactId>
 	<packaging>eclipse-plugin</packaging>
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/META-INF/MANIFEST.MF
index f62048c..877e6d9 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/META-INF/MANIFEST.MF
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Papyrus SysML Migration Documentation
 Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml.doc;singleton:=true
-Bundle-Version: 0.11.0.qualifier
+Bundle-Version: 0.12.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.help;bundle-version="[3.7.0,4.0.0)",
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/pom.xml b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/pom.xml
index e724b0f..3669a0a 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/pom.xml
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/pom.xml
@@ -1,10 +1,12 @@
 <?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>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
 		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.doc</artifactId>
 	<packaging>eclipse-plugin</packaging>
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/META-INF/MANIFEST.MF
index ff7960a..aae841e 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/META-INF/MANIFEST.MF
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml;singleton:=true
-Bundle-Version: 0.11.0.qualifier
+Bundle-Version: 0.12.0.qualifier
 Bundle-Vendor: %providerName
 Bundle-Activator: org.eclipse.papyrus.interoperability.sysml14.sysml.Activator
 Require-Bundle: org.eclipse.ui;bundle-version="[3.109.0,4.0.0)",
@@ -10,7 +10,7 @@
  org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
  org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
  org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[2.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.uml.m2m.qvto.common;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.m2m.qvt.oml;bundle-version="[3.7.0,4.0.0)",
@@ -19,7 +19,7 @@
  org.eclipse.m2m.qvt.oml.runtime;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)",
  org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
- org.eclipse.papyrus.sysml14;bundle-version="[0.10.1,2.0.0)",
+ org.eclipse.papyrus.sysml14;bundle-version="[0.12.0,2.0.0)",
  org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/pom.xml b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/pom.xml
index 3b53596..b8120f4 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/pom.xml
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/pom.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
 		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml</artifactId>
 	<packaging>eclipse-plugin</packaging>
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java
index c1ece9d..6f894bd 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java
@@ -61,7 +61,7 @@
 	/**
 	 * The notation file extension.
 	 */
-	private static final String NOTATION_FILE_EXTENSION = "notation";
+	protected static final String NOTATION_FILE_EXTENSION = "notation";
 
 	/**
 	 * The model extent for the primitives types.
@@ -367,7 +367,7 @@
 	protected URI getSemanticTransformationURI() {
 		return getTransformationURI("SysMLSemantic", Activator.PLUGIN_ID);
 	}
-
+	
 	/**
 	 * {@inheritDoc}
 	 * 
@@ -386,9 +386,9 @@
 	@Override
 	protected Collection<URI> getAllTransformationURIs() {
 		final Collection<URI> allTransformations = new ArrayList<URI>();
-		final URI semanticTransformationURI = getSemanticTransformationURI();
-		if (null != semanticTransformationURI) {
-			allTransformations.add(semanticTransformationURI);
+		final URI semanticTransformationsURI = getSemanticTransformationURI();
+		if (null != semanticTransformationsURI) {
+			allTransformations.add(semanticTransformationsURI);
 		}
 		final Collection<URI> diagramTransformationURI = getDiagramTransformationURIs();
 		if (null != diagramTransformationURI) {
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java
index 0452b62..e7b8137 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java
@@ -102,8 +102,6 @@
 				} else if (UMLXMIIDHelper.isStereotypedElementCreated(current)) {
 					UMLXMIIDHelper.calculateCreateStereotypedElement(res, current);
 
-				} else {
-					System.out.println("It is not possible to found an id for " + current.toString()); //$NON-NLS-1$
 				}
 			}
 		}
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLAllocationTable.qvto b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLAllocationTable.qvto
index ac4edda..528b965 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLAllocationTable.qvto
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLAllocationTable.qvto
@@ -61,6 +61,8 @@
 			axisProvider.axis += existingAxis->map fromSysML11AxisToAxis();
 		};
 	};
+	
+	prototype := null;
 }
 
 mapping nattable::nattableaxis::IAxis::fromSysML11AxisToAxis() : nattable::nattableaxis::IAxis {
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLRequirementTable.qvto b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLRequirementTable.qvto
index 702ccec..8029ffa 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLRequirementTable.qvto
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLRequirementTable.qvto
@@ -61,6 +61,8 @@
 			axisProvider.axis += existingAxis->map fromSysML11AxisToAxis();
 		};
 	};
+	
+	prototype := null;
 }
 
 mapping nattable::nattableaxis::IAxis::fromSysML11AxisToAxis() : nattable::nattableaxis::IAxis {
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLSemantic.qvto b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLSemantic.qvto
index af3aa69..a185c00 100644
--- a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLSemantic.qvto
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml/transform/SysMLSemantic.qvto
@@ -25,7 +25,7 @@
 transformation SysMLSemantic(in inS14Profile : SysML14, in primitiveTypes : UMLPrimitivesTypes, in sysMLStandardLibrary : SysML14, in umlProfileStandard : UMLProfileStandard, inout inOutModel : UML);
 
 // Declare needed constants
-property sysML11USRI:String = 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+property sysML11URI:String = 'http://www.eclipse.org/papyrus/0.7.0/SysML';
 property standardProfileName:String = "StandardProfile";
 property librariesName:String = "Libraries";
 property unitName:String = "Unit";
@@ -641,6 +641,6 @@
 
 
 // Utility to remove all SysML 1.1 Profiles 
-mapping ProfileApplication::removeSysML11Profile(model:UML::Model) when { self.appliedProfile.URI.startsWith(sysML11USRI);}{
+mapping ProfileApplication::removeSysML11Profile(model:UML::Model) when { self.appliedProfile.URI.startsWith(sysML11URI);}{
 	model.unapplyProfile(self.appliedProfile);
 }
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.classpath b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.project b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.project
new file mode 100644
index 0000000..7a64fe7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml.nattable.allocation.config</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.oomph.version.VersionNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.jdt.core.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b3aa6d6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.jdt.ui.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.pde.api.tools.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..23fb95e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,98 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Warning
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..fac3ee8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.papyrus.sysml;bundle-version="0.12.0",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="5.0.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.12.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.sysml.nattable.allocation.config.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml.nattable.allocation.config;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.papyrus.sysml.nattable.allocation.config
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/OSGI-INF/l10n/bundle.properties b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..9a85096
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.sysml.nattable.allocation.config
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = SysML Allocation Table Configuration
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/about.html b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/about.html
new file mode 100644
index 0000000..598b368
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>May 12, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/build.properties b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/build.properties
new file mode 100644
index 0000000..c84abdd
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/build.properties
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               build.properties,\
+               icons/,\
+               resources/,\
+               about.html,\
+               OSGI-INF/
+src.includes = about.html
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/old/table_SysML_Allocation.gif b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/old/table_SysML_Allocation.gif
new file mode 100644
index 0000000..6d9e22c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/old/table_SysML_Allocation.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/old/table_SysML_Allocation.png b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/old/table_SysML_Allocation.png
new file mode 100644
index 0000000..761ea00
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/old/table_SysML_Allocation.png
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/table_SysML_Allocation.png b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/table_SysML_Allocation.png
new file mode 100644
index 0000000..ad1a933
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/table_SysML_Allocation.png
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/plugin.xml b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/plugin.xml
new file mode 100644
index 0000000..62fcba2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.configuration">
+      <configuration
+            file="resources/allocation.nattableconfiguration"
+            type="PapyrusSysMLAllocationTable">
+      </configuration>
+   </extension>
+
+</plugin>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/pom.xml b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/pom.xml
new file mode 100644
index 0000000..21f6fe9
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml.nattable.allocation.config</artifactId>
+	<packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration
new file mode 100644
index 0000000..36c8146
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattableconfiguration:TableConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmi:id="_JC4pIDa7EemHe952rlhBCQ" description="This table is used to display SysML Allocation" name="AllocationTable" type="PapyrusSysMLAllocationTable" iconPath="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/icons/table_SysML_Allocation.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_JC6eVDa7EemHe952rlhBCQ" defaultColumnAxisProvider="_JC53RTa7EemHe952rlhBCQ">
+  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="_JC4pITa7EemHe952rlhBCQ" name="dragRegions">
+    <stringListValue>ROW_HEADER</stringListValue>
+  </styles>
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_JC4pIza7EemHe952rlhBCQ" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_JC4pJDa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_JC5QMDa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration" xmi:id="_JC5QMTa7EemHe952rlhBCQ">
+      <listenFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedMember"/>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_JC5QMja7EemHe952rlhBCQ" detachedMode="true" pastedElementId="org.eclipse.papyrus.sysml.Allocate">
+      <postActions>applyStereotype:/SysML::Allocations::Allocate</postActions>
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+      <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OgydQXmoEeWVZIGG1XbiFw" manager="_JC53Qja7EemHe952rlhBCQ">
+        <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+      </axisIdentifier>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_JC5QMza7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.sysml.nattable.allocate.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_JC4pJDa7EemHe952rlhBCQ" specificAxisConfigurations="_JC5QMTa7EemHe952rlhBCQ"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_JC5QNDa7EemHe952rlhBCQ" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_JC53QDa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_JC53QTa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_JC53Qja7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_JC53QDa7EemHe952rlhBCQ"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_JC53Qza7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_JC53QDa7EemHe952rlhBCQ"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_JC53RDa7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.uml.nattable.operation.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.operation.labelprovider" headerLabelConfiguration="_JC53QTa7EemHe952rlhBCQ"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_JC53RTa7EemHe952rlhBCQ" description="This provider provides the default columns for the SysML Allocation Table" name="SysMLAllocationFeatureProvider">
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JC6eUDa7EemHe952rlhBCQ" manager="_JC53Qja7EemHe952rlhBCQ">
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JC6eUTa7EemHe952rlhBCQ" manager="_JC53Qja7EemHe952rlhBCQ">
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/client"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JC6eUja7EemHe952rlhBCQ" manager="_JC53Qja7EemHe952rlhBCQ">
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/supplier"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_JC6eUza7EemHe952rlhBCQ" manager="_JC53Qja7EemHe952rlhBCQ">
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/>
+    </axis>
+  </columnAxisProviders>
+  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_JC6eVDa7EemHe952rlhBCQ" description="This row providers allows to display all Allocation in a Table" name="SysMLAllocationProvider" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/src/org/eclipse/papyrus/sysml/nattable/allocation/config/Activator.java b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/src/org/eclipse/papyrus/sysml/nattable/allocation/config/Activator.java
new file mode 100644
index 0000000..093b7b8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.allocation.config/src/org/eclipse/papyrus/sysml/nattable/allocation/config/Activator.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * 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:
+ *  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.nattable.allocation.config;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml.nattable.allocation.config"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	public static LogHelper log;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+		log = new LogHelper(this);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.classpath b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.project b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.project
new file mode 100644
index 0000000..700ddc4
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml.nattable.requirement.config</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.oomph.version.VersionNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.jdt.core.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b3aa6d6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.jdt.ui.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.pde.api.tools.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..23fb95e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,98 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Warning
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..ae3d037
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.papyrus.infra.nattable.common;bundle-version="5.0.0"
+Export-Package: org.eclipse.papyrus.sysml.nattable.requirement.config
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.12.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.sysml.nattable.requirement.config.Activator
+Bundle-ManifestVersion: 2
+Bundle-Description: %pluginDescription
+Bundle-SymbolicName: org.eclipse.papyrus.sysml.nattable.requirement.config;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.papyrus.sysml.nattable.requirement.config
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/OSGI-INF/l10n/bundle.properties b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..93532ab
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.sysml.nattable.requirement.config
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Nattable Requirement Configuration
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/about.html b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/about.html
new file mode 100644
index 0000000..598b368
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>May 12, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/build.properties b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/build.properties
new file mode 100644
index 0000000..0633bff
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               OSGI-INF/,\
+               configs/,\
+               icons/,\
+               about.html
+src.includes = about.html
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration
new file mode 100644
index 0000000..0209942
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattableconfiguration:TableConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:nattablelabelprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider" xmlns:nattablestyle="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle" xmi:id="_J60WsDa7EemHe952rlhBCQ" description="A synchronized table for SysML Requirements" name="RequirementTable" type="PapyrusSysMLRequirementTable" iconPath="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/table_SysML_Requirement.png" cellEditorDeclaration="COLUMN" defaultRowAxisProvider="_J61k1ja7EemHe952rlhBCQ" defaultColumnAxisProvider="_J61k0ja7EemHe952rlhBCQ">
+  <styles xmi:type="nattablestyle:StringListValueStyle" xmi:id="_J60WsTa7EemHe952rlhBCQ" name="dragRegions">
+    <stringListValue>ROW_HEADER</stringListValue>
+  </styles>
+  <rowHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_J60Wsza7EemHe952rlhBCQ" indexStyle="NUMERIC" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:ObjectLabelProviderConfiguration" xmi:id="_J60WtDa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_J609wDa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true" displayType="false" displayMultiplicity="false" displayName="true"/>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:EStructuralFeatureValueFillingConfiguration" xmi:id="_J609wTa7EemHe952rlhBCQ">
+      <listenFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedMember"/>
+    </ownedAxisConfigurations>
+    <ownedAxisConfigurations xmi:type="nattableaxisconfiguration:PasteEObjectConfiguration" xmi:id="_J609wja7EemHe952rlhBCQ" detachedMode="true" pastedElementId="org.eclipse.papyrus.sysml.Requirement">
+      <postActions>applyStereotype:/SysML::Requirements::Requirement</postActions>
+      <pasteElementContainementFeature xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+      <axisIdentifier xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_OgydQXmoEeWVZIGG1XbiFw" manager="_J609xza7EemHe952rlhBCQ">
+        <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+      </axisIdentifier>
+    </ownedAxisConfigurations>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_J609wza7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.sysml.nattable.requirement.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.labelprovider" headerLabelConfiguration="_J60WtDa7EemHe952rlhBCQ" specificAxisConfigurations="_J609wTa7EemHe952rlhBCQ"/>
+  </rowHeaderAxisConfiguration>
+  <columnHeaderAxisConfiguration xmi:type="nattableaxisconfiguration:TableHeaderAxisConfiguration" xmi:id="_J609xDa7EemHe952rlhBCQ" displayLabel="true" displayFilter="false" displayIndex="true">
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:FeatureLabelProviderConfiguration" xmi:id="_J609xTa7EemHe952rlhBCQ" displayIcon="true" displayLabel="true" displayIsDerived="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <ownedLabelConfigurations xmi:type="nattablelabelprovider:OperationLabelProviderConfiguration" xmi:id="_J609xja7EemHe952rlhBCQ" displayIcon="true" displayLabel="true" displayType="true" displayMultiplicity="true" displayName="true"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_J609xza7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.uml.nattable.feature.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_J609xTa7EemHe952rlhBCQ"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_J61k0Da7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.uml.nattable.stereotype.property.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.feature.labelprovider" headerLabelConfiguration="_J609xTa7EemHe952rlhBCQ"/>
+    <axisManagers xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" xmi:id="_J61k0Ta7EemHe952rlhBCQ" axisManagerId="org.eclipse.papyrus.uml.nattable.operation.axis.manager" labelProviderContext="org.eclipse.papyrus.infra.nattable.header.operation.labelprovider" headerLabelConfiguration="_J609xja7EemHe952rlhBCQ"/>
+  </columnHeaderAxisConfiguration>
+  <columnAxisProviders xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_J61k0ja7EemHe952rlhBCQ" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_J61k0za7EemHe952rlhBCQ" manager="_J61k0Da7EemHe952rlhBCQ" element="property_of_stereotype:/SysML::Requirements::Requirement::id"/>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_J61k1Da7EemHe952rlhBCQ" manager="_J609xza7EemHe952rlhBCQ">
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_J61k1Ta7EemHe952rlhBCQ" manager="_J61k0Da7EemHe952rlhBCQ" element="property_of_stereotype:/SysML::Requirements::Requirement::text"/>
+  </columnAxisProviders>
+  <rowAxisProviders xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_J61k1ja7EemHe952rlhBCQ" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattableconfiguration:TableConfiguration>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/old/table_SysML_Requirement.gif b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/old/table_SysML_Requirement.gif
new file mode 100644
index 0000000..91fc98b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/old/table_SysML_Requirement.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/table_SysML_Requirement.png b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/table_SysML_Requirement.png
new file mode 100644
index 0000000..a325432
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/icons/table_SysML_Requirement.png
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/plugin.properties b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/plugin.properties
new file mode 100644
index 0000000..f4c3f32
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# 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:
+#     Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - initial API and implementation
+##################################################################################)
+
+pluginDescription=This plugin provides the configuration to use for Requirement Table.
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/plugin.xml b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/plugin.xml
new file mode 100644
index 0000000..ddaad81
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.papyrus.infra.nattable.configuration">
+      <configuration
+            file="configs/requirement.nattableconfiguration"
+            type="PapyrusSysMLRequirementTable">
+      </configuration>
+   </extension>
+</plugin>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/pom.xml b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/pom.xml
new file mode 100644
index 0000000..9f43db7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml.nattable.requirement.config</artifactId>
+	<packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/src/org/eclipse/papyrus/sysml/nattable/requirement/config/Activator.java b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/src/org/eclipse/papyrus/sysml/nattable/requirement/config/Activator.java
new file mode 100644
index 0000000..c9e96f1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml.nattable.requirement.config/src/org/eclipse/papyrus/sysml/nattable/requirement/config/Activator.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.nattable.requirement.config;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml.nattable.requirement.config"; //$NON-NLS-1$
+
+	public static final String TABLE_TYPE = "PapyrusSysMLRequirementTable"; //$NON-NLS-1$
+
+	// The shared instance
+	private static Activator plugin;
+
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 *
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	@Override
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/.classpath b/sysml14/plugins/org.eclipse.papyrus.sysml/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/.project b/sysml14/plugins/org.eclipse.papyrus.sysml/.project
new file mode 100644
index 0000000..e556bf1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.sysml</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.oomph.version.VersionNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.jdt.core.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b3aa6d6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.jdt.ui.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.pde.api.tools.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..23fb95e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,98 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Warning
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.sysml/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0469a27
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/META-INF/MANIFEST.MF
@@ -0,0 +1,47 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.0,2.0.0)";visibility:=reexport
+Export-Package: org.eclipse.papyrus.sysml,
+ org.eclipse.papyrus.sysml.activities,
+ org.eclipse.papyrus.sysml.activities.internal.impl,
+ org.eclipse.papyrus.sysml.activities.util,
+ org.eclipse.papyrus.sysml.allocations,
+ org.eclipse.papyrus.sysml.allocations.internal.impl,
+ org.eclipse.papyrus.sysml.allocations.util,
+ org.eclipse.papyrus.sysml.blocks,
+ org.eclipse.papyrus.sysml.blocks.internal.impl,
+ org.eclipse.papyrus.sysml.blocks.util,
+ org.eclipse.papyrus.sysml.constraints,
+ org.eclipse.papyrus.sysml.constraints.internal.impl,
+ org.eclipse.papyrus.sysml.constraints.util,
+ org.eclipse.papyrus.sysml.interactions,
+ org.eclipse.papyrus.sysml.interactions.internal.impl,
+ org.eclipse.papyrus.sysml.interactions.util,
+ org.eclipse.papyrus.sysml.internal.impl,
+ org.eclipse.papyrus.sysml.modelelements,
+ org.eclipse.papyrus.sysml.modelelements.internal.impl,
+ org.eclipse.papyrus.sysml.modelelements.util,
+ org.eclipse.papyrus.sysml.portandflows,
+ org.eclipse.papyrus.sysml.portandflows.internal.impl,
+ org.eclipse.papyrus.sysml.portandflows.util,
+ org.eclipse.papyrus.sysml.requirements,
+ org.eclipse.papyrus.sysml.requirements.internal.impl,
+ org.eclipse.papyrus.sysml.requirements.util,
+ org.eclipse.papyrus.sysml.statemachines,
+ org.eclipse.papyrus.sysml.statemachines.internal.impl,
+ org.eclipse.papyrus.sysml.statemachines.util,
+ org.eclipse.papyrus.sysml.usecases,
+ org.eclipse.papyrus.sysml.usecases.internal.impl,
+ org.eclipse.papyrus.sysml.usecases.util,
+ org.eclipse.papyrus.sysml.util
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 0.12.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.sysml;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.papyrus.sysml
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/about.html b/sysml14/plugins/org.eclipse.papyrus.sysml/about.html
new file mode 100644
index 0000000..d35d5ae
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2007</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/build.properties b/sysml14/plugins/org.eclipse.papyrus.sysml/build.properties
new file mode 100644
index 0000000..9a64c6f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/build.properties
@@ -0,0 +1,8 @@
+#
+#Mon Sep 12 09:30:13 CEST 2011
+output..=bin/
+bin.includes=.,model/,META-INF/,plugin.xml,plugin.properties,libraries/,icons/,about.html
+jars.compile.order=.
+src.includes = about.html
+source..=src/
+bin..=bin/
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLLibrary.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLLibrary.gif
new file mode 100644
index 0000000..bf8bdd5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLLibrary.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLModel.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLModel.gif
new file mode 100644
index 0000000..35ee3e1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLModel.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLProfile.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLProfile.gif
new file mode 100644
index 0000000..d8c3834
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/SysMLProfile.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/allocations/Allocate.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/allocations/Allocate.gif
new file mode 100644
index 0000000..a4a2536
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/allocations/Allocate.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Block.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Block.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Block.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/BlockProperty.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/BlockProperty.gif
new file mode 100644
index 0000000..0e14c65
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/BlockProperty.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Dimension.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Dimension.gif
new file mode 100644
index 0000000..eb861a0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Dimension.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Unit.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Unit.gif
new file mode 100644
index 0000000..33bfb26
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/Unit.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/ValueType.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/ValueType.gif
new file mode 100644
index 0000000..eb54412
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/blocks/ValueType.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/constraints/ConstraintBlock.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/constraints/ConstraintBlock.gif
new file mode 100644
index 0000000..3e7750a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/constraints/ConstraintBlock.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/constraints/ConstraintProperty.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/constraints/ConstraintProperty.gif
new file mode 100644
index 0000000..7c948e8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/constraints/ConstraintProperty.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Conform.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Conform.gif
new file mode 100644
index 0000000..1c2c5c2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Conform.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Problem.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Problem.gif
new file mode 100644
index 0000000..cd989e8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Problem.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Rationale.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Rationale.gif
new file mode 100644
index 0000000..a82851f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Rationale.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/View.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/View.gif
new file mode 100644
index 0000000..2d874ff
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/View.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Viewpoint.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Viewpoint.gif
new file mode 100644
index 0000000..a1cd285
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/modelelements/Viewpoint.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort.gif
new file mode 100644
index 0000000..78ed7ce
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_IN.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_IN.gif
new file mode 100644
index 0000000..6e45798
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_IN.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_INOUT.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_INOUT.gif
new file mode 100644
index 0000000..78ed7ce
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_INOUT.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_NA.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_NA.gif
new file mode 100644
index 0000000..3fd4b05
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_NA.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_OUT.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_OUT.gif
new file mode 100644
index 0000000..1b7c2cb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_OUT.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty.gif
new file mode 100644
index 0000000..77c0e22
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_IN.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_IN.gif
new file mode 100644
index 0000000..dcf0b98
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_IN.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_INOUT.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_INOUT.gif
new file mode 100644
index 0000000..9b24cf5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_INOUT.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_OUT.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_OUT.gif
new file mode 100644
index 0000000..1630535
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_OUT.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowSpecification.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowSpecification.gif
new file mode 100644
index 0000000..1df635f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/FlowSpecification.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/ItemFlow.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/ItemFlow.gif
new file mode 100644
index 0000000..31c9dc8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/portandflows/ItemFlow.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Copy.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Copy.gif
new file mode 100644
index 0000000..47caa0b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Copy.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/DeriveReqt.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/DeriveReqt.gif
new file mode 100644
index 0000000..6217748
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/DeriveReqt.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Refine.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Refine.gif
new file mode 100644
index 0000000..c8d1d8c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Refine.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Requirement.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Requirement.gif
new file mode 100644
index 0000000..50618e0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Requirement.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Satisfy.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Satisfy.gif
new file mode 100644
index 0000000..00848d8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Satisfy.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/TestCase.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/TestCase.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/TestCase.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Trace.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Trace.gif
new file mode 100644
index 0000000..f4cb0d3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Trace.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Verify.gif b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Verify.gif
new file mode 100644
index 0000000..2d54efc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/icons/requirements/Verify.gif
Binary files differ
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/libraries/SysMLPrimitiveTypes.di2 b/sysml14/plugins/org.eclipse.papyrus.sysml/libraries/SysMLPrimitiveTypes.di2
new file mode 100644
index 0000000..b585a93
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/libraries/SysMLPrimitiveTypes.di2
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di2:Diagram xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di2="http://www.papyrusuml.org" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_AmRhALXmEduHWpAaWjM62w" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="255:255:255" foregroundColor="255:255:255" backgroundColor="255:255:255" borderColor="255:255:255" position="0:0" name="Activities">
+  <contained xsi:type="di2:GraphNode" xmi:id="_E76EgLXmEduHWpAaWjM62w" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="116:56" size="146:130">
+    <contained xsi:type="di2:GraphNode" xmi:id="_E8DOcLXmEduHWpAaWjM62w" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+      <contained xsi:type="di2:GraphNode" xmi:id="_HFqmULXmEduHWpAaWjM62w" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_HFqmUbXmEduHWpAaWjM62w" presentation="TextStereotype">
+          <element xsi:type="uml:EnumerationLiteral" href="SysMLPrimitiveTypes.uml#_HFoKELXmEduHWpAaWjM62w"/>
+        </semanticModel>
+      </contained>
+      <contained xsi:type="di2:GraphNode" xmi:id="_HQ4-4LXmEduHWpAaWjM62w" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_HQ4-4bXmEduHWpAaWjM62w" presentation="TextStereotype">
+          <element xsi:type="uml:EnumerationLiteral" href="SysMLPrimitiveTypes.uml#_HQ3wwLXmEduHWpAaWjM62w"/>
+        </semanticModel>
+      </contained>
+    </contained>
+    <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_E76EgbXmEduHWpAaWjM62w" presentation="TextStereotype">
+      <element xsi:type="uml:Enumeration" href="SysMLPrimitiveTypes.uml#_E7rbALXmEduHWpAaWjM62w"/>
+    </semanticModel>
+  </contained>
+  <contained xsi:type="di2:GraphNode" xmi:id="_vlkQsLXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="322:56" size="120:130">
+    <property key="PropStereoDisplay" value="SysML::Blocks::ValueType"/>
+    <contained xsi:type="di2:GraphNode" xmi:id="_vly6MLXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100"/>
+    <contained xsi:type="di2:GraphNode" xmi:id="_vlzhQLXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100"/>
+    <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_vlkQsbXzEdu94_NE0EO5_A" presentation="TextStereotype">
+      <element xsi:type="uml:DataType" href="SysMLPrimitiveTypes.uml#_vjX4ULXzEdu94_NE0EO5_A"/>
+    </semanticModel>
+  </contained>
+  <contained xsi:type="di2:GraphNode" xmi:id="_xB658LXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="482:56" size="212:130">
+    <property key="PropStereoDisplay" value="SysML::Blocks::ValueType"/>
+    <contained xsi:type="di2:GraphNode" xmi:id="_xB9WMLXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+      <contained xsi:type="di2:GraphNode" xmi:id="_5plTULXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="166:157:183" position="20:20" size="100:100">
+        <property xmi:id="_5plTUrXzEdu94_NE0EO5_A" key="custom_disp" value="254"/>
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_5plTUbXzEdu94_NE0EO5_A" presentation="TextStereotype">
+          <element xsi:type="uml:Property" href="SysMLPrimitiveTypes.uml#_5pho8LXzEdu94_NE0EO5_A"/>
+        </semanticModel>
+      </contained>
+      <contained xsi:type="di2:GraphNode" xmi:id="_5vd44LXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="166:157:183" position="20:20" size="100:100">
+        <property xmi:id="_5vef8LXzEdu94_NE0EO5_A" key="custom_disp" value="254"/>
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_5vd44bXzEdu94_NE0EO5_A" presentation="TextStereotype">
+          <element xsi:type="uml:Property" href="SysMLPrimitiveTypes.uml#_5vcDsLXzEdu94_NE0EO5_A"/>
+        </semanticModel>
+      </contained>
+    </contained>
+    <contained xsi:type="di2:GraphNode" xmi:id="_xB99QLXzEdu94_NE0EO5_A" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100"/>
+    <semanticModel xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_xB658bXzEdu94_NE0EO5_A" presentation="TextStereotype">
+      <element xsi:type="uml:DataType" href="SysMLPrimitiveTypes.uml#_xB5r0LXzEdu94_NE0EO5_A"/>
+    </semanticModel>
+  </contained>
+  <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="116:205" size="146:130">
+    <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+    <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+    <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+      <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+      <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+          <element xsi:type="uml:EnumerationLiteral" href="SysMLPrimitiveTypes.uml#_ME10cHUNEd2wL8HwXmHsqA"/>
+        </semanticModel>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+          <element xsi:type="uml:EnumerationLiteral" href="SysMLPrimitiveTypes.uml#_MOh78HUNEd2wL8HwXmHsqA"/>
+        </semanticModel>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+          <element xsi:type="uml:EnumerationLiteral" href="SysMLPrimitiveTypes.uml#_MUVpAHUNEd2wL8HwXmHsqA"/>
+        </semanticModel>
+      </contained>
+      <contained xsi:type="di2:GraphNode" isVisible="true" fontFamily="Arial" lineStyle="solid" fontColor="0:0:0" foregroundColor="248:249:214" backgroundColor="248:249:214" borderColor="157:124:47" position="20:20" size="100:100">
+        <property key="STEREOTYPE_DISPLAY_LOCATION" value="Comment"/>
+        <property key="QUALIFIED_NAME_DEPTH" value="0"/>
+        <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+          <element xsi:type="uml:EnumerationLiteral" href="SysMLPrimitiveTypes.uml#_MYg-YHUNEd2wL8HwXmHsqA"/>
+        </semanticModel>
+      </contained>
+    </contained>
+    <semanticModel xsi:type="di2:Uml1SemanticModelBridge" presentation="TextStereotype">
+      <element xsi:type="uml:Enumeration" href="SysMLPrimitiveTypes.uml#_JoVVwHUNEd2wL8HwXmHsqA"/>
+    </semanticModel>
+  </contained>
+  <owner xsi:type="di2:Uml1SemanticModelBridge" xmi:id="_AmRhAbXmEduHWpAaWjM62w">
+    <element xsi:type="uml:Model" href="SysMLPrimitiveTypes.uml#_AnZiYLXmEduHWpAaWjM62w"/>
+  </owner>
+</di2:Diagram>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/libraries/SysMLPrimitiveTypes.uml b/sysml14/plugins/org.eclipse.papyrus.sysml/libraries/SysMLPrimitiveTypes.uml
new file mode 100644
index 0000000..49f31ce
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/libraries/SysMLPrimitiveTypes.uml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks">
+  <uml:Model xmi:id="_AnZiYLXmEduHWpAaWjM62w" name="SysMLPrimitiveTypes">
+    <ownedComment xmi:id="_FucPQLt5EdueBMWQd1bClA">
+      <body>Copyright (c) 2007 CEA List.&#xD;
+				&#xD;
+				All rights reserved. This
+				program and the accompanying materials&#xD;
+				are made available under
+				the terms of the Eclipse Public License
+				v1.0&#xD;
+				which accompanies
+				this distribution, and is available at&#xD;
+				http://www.eclipse.org/legal/epl-v10.html&#xD;
+				&#xD;
+				Contributors:&#xD;
+				CEA List - initial API and implementation
+			</body>
+    </ownedComment>
+    <packageImport xmi:id="_AnZiYbXmEduHWpAaWjM62w">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_E7rbALXmEduHWpAaWjM62w" name="ControlValue">
+      <ownedLiteral xmi:id="_HFoKELXmEduHWpAaWjM62w" name="disable"/>
+      <ownedLiteral xmi:id="_HQ3wwLXmEduHWpAaWjM62w" name="enable"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_vjX4ULXzEdu94_NE0EO5_A" name="Real"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_xB5r0LXzEdu94_NE0EO5_A" name="Complex">
+      <ownedAttribute xmi:id="_5pho8LXzEdu94_NE0EO5_A" name="realPart" visibility="public" type="_vjX4ULXzEdu94_NE0EO5_A" isUnique="false">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AgtjMLX0Edu94_NE0EO5_A"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AgxNkLX0Edu94_NE0EO5_A" value="1"/>
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_76JAsLXzEdu94_NE0EO5_A">
+          <value xsi:nil="true"/>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_5vcDsLXzEdu94_NE0EO5_A" name="imaginaryPart" visibility="public" type="_vjX4ULXzEdu94_NE0EO5_A" isUnique="false">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BCW3sLX0Edu94_NE0EO5_A"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BCZ7ALX0Edu94_NE0EO5_A" value="1"/>
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Yc2MLXzEdu94_NE0EO5_A">
+          <value xsi:nil="true"/>
+        </defaultValue>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_JoVVwHUNEd2wL8HwXmHsqA" name="VerdictKind">
+      <ownedLiteral xmi:id="_ME10cHUNEd2wL8HwXmHsqA" name="pass"/>
+      <ownedLiteral xmi:id="_MOh78HUNEd2wL8HwXmHsqA" name="fail"/>
+      <ownedLiteral xmi:id="_MUVpAHUNEd2wL8HwXmHsqA" name="inconclusive"/>
+      <ownedLiteral xmi:id="_MYg-YHUNEd2wL8HwXmHsqA" name="error"/>
+    </packagedElement>
+    <profileApplication xmi:id="_AnZiYrXmEduHWpAaWjM62w">
+      <eAnnotations xmi:id="_AnZiY7XmEduHWpAaWjM62w" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+    <profileApplication xmi:id="_EO0nsKqaEeOxYPLQQ5QgYg">
+      <eAnnotations xmi:id="_EO0nsaqaEeOxYPLQQ5QgYg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:ValueType xmi:id="_T_ymgLX-EduFmqQsrNB9lw" base_DataType="_vjX4ULXzEdu94_NE0EO5_A"/>
+  <Blocks:ValueType xmi:id="_UrgdALX-EduFmqQsrNB9lw" base_DataType="_xB5r0LXzEdu94_NE0EO5_A"/>
+</xmi:XMI>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/model/.gitignore b/sysml14/plugins/org.eclipse.papyrus.sysml/model/.gitignore
new file mode 100644
index 0000000..5660c13
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/model/.gitignore
@@ -0,0 +1,3 @@
+/SysML.profile.di
+/SysML.profile.notation
+/SysML.profile.sash
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/model/SysML.profile.genmodel b/sysml14/plugins/org.eclipse.papyrus.sysml/model/SysML.profile.genmodel
new file mode 100644
index 0000000..588d833
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/model/SysML.profile.genmodel
@@ -0,0 +1,293 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    modelDirectory="/org.eclipse.papyrus.sysml/src" modelPluginID="org.eclipse.papyrus.sysml"
+    modelName="SysML" editPluginClass="org.eclipse.papyrus.sysml.provider.SysmlEditPlugin"
+    rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.uml2.uml.ecore.importer"
+    complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.uml.profile.standard/model/Standard.genmodel#//standard ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+    operationReflection="true" importOrganizing="true">
+  <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+    <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+    <details key="UNION_PROPERTIES" value="REPORT"/>
+    <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+    <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+    <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+    <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+    <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+    <details key="COMMENTS" value="PROCESS"/>
+    <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+    <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+    <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+    <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+    <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+    <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+    <details key="NON_API_INVARIANTS" value="IGNORE"/>
+    <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+    <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+    <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+    <details key="DERIVED_FEATURES" value="PROCESS"/>
+    <details key="OPERATION_BODIES" value="IGNORE"/>
+    <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+    <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+  </genAnnotations>
+  <foreignModel>SysML.profile.uml</foreignModel>
+  <genPackages xsi:type="genmodel:GenPackage" prefix="Sysml" basePackage="org.eclipse.papyrus"
+      disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+      ecorePackage="sysml.ecore#/">
+    <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="sysml.ecore#//Dummy"/>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Modelelements" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//modelelements">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//modelelements/Conform">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//modelelements/Conform/base_Dependency"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//modelelements/View">
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//modelelements/View/viewPoint"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//modelelements/View/base_Package"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//modelelements/ViewPoint">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//modelelements/ViewPoint/base_Class"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//modelelements/ViewPoint/stakeHolders"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//modelelements/ViewPoint/purpose"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//modelelements/ViewPoint/concerns"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//modelelements/ViewPoint/languages"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//modelelements/ViewPoint/methods"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//modelelements/Rationale">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//modelelements/Rationale/base_Comment"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//modelelements/Problem">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//modelelements/Problem/base_Comment"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Blocks" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//blocks">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/Block">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//blocks/Block/isEncapsulated"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/Block/base_Class"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/DistributedProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/DistributedProperty/base_Property"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/Dimension">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/Dimension/base_InstanceSpecification"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/Unit">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/Unit/base_InstanceSpecification"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/Unit/dimension"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/ValueType">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ValueType/base_DataType"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ValueType/unit"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ValueType/dimension"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/NestedConnectorEnd">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/NestedConnectorEnd/propertyPath"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/NestedConnectorEnd/base_ConnectorEnd"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/ParticipantProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ParticipantProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ParticipantProperty/end"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/ConnectorProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ConnectorProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/ConnectorProperty/connector"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/BindingConnector">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/BindingConnector/base_Connector"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//blocks/PropertySpecificType">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//blocks/PropertySpecificType/base_Classifier"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Portandflows" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//portandflows">
+      <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="sysml.ecore#//portandflows/FlowDirection">
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="sysml.ecore#//portandflows/FlowDirection/in"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="sysml.ecore#//portandflows/FlowDirection/out"/>
+        <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="sysml.ecore#//portandflows/FlowDirection/inout"/>
+      </genEnums>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//portandflows/FlowPort">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//portandflows/FlowPort/base_Port"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+            ecoreFeature="ecore:EAttribute sysml.ecore#//portandflows/FlowPort/isAtomic"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//portandflows/FlowPort/isConjugated"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//portandflows/FlowPort/direction"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="sysml.ecore#//portandflows/FlowPort/getIcon"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//portandflows/FlowProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//portandflows/FlowProperty/base_Property"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//portandflows/FlowProperty/direction"/>
+        <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="sysml.ecore#//portandflows/FlowProperty/getIcon"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//portandflows/FlowSpecification">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//portandflows/FlowSpecification/base_Interface"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//portandflows/ItemFlow">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//portandflows/ItemFlow/base_InformationFlow"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//portandflows/ItemFlow/itemProperty"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Constraints" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//constraints">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//constraints/ConstraintBlock"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//constraints/ConstraintProperty">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//constraints/ConstraintProperty/base_Property"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Activities" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//activities">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/Optional">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Optional/base_Parameter"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/Rate">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Rate/base_Parameter"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Rate/base_ActivityEdge"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Rate/rate"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/Probability">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Probability/base_ActivityEdge"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Probability/base_ParameterSet"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Probability/probability"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/Continuous"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/Discrete"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/ControlOperator">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/ControlOperator/base_Operation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/ControlOperator/base_Behavior"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/NoBuffer">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/NoBuffer/base_ObjectNode"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//activities/Overwrite">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//activities/Overwrite/base_ObjectNode"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Allocations" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//allocations">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//allocations/Allocate">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//allocations/Allocate/base_Abstraction"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//allocations/Allocated">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//allocations/Allocated/base_NamedElement"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//allocations/Allocated/allocatedFrom"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//allocations/Allocated/allocatedTo"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//allocations/AllocateActivityPartition">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//allocations/AllocateActivityPartition/base_ActivityPartition"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Requirements" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//requirements">
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/DeriveReqt"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/Verify"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/Copy"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/Satisfy"/>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/TestCase">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//requirements/TestCase/base_Behavior"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//requirements/TestCase/base_Operation"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/TestCase/verifies"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/Requirement">
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//requirements/Requirement/text"/>
+        <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute sysml.ecore#//requirements/Requirement/id"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/derived"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/derivedFrom"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/satisfiedBy"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/refinedBy"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/tracedTo"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/verifiedBy"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/master"/>
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//requirements/Requirement/base_Class"/>
+      </genClasses>
+      <genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//requirements/RequirementRelated">
+        <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+            propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//requirements/RequirementRelated/base_NamedElement"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/RequirementRelated/tracedFrom"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/RequirementRelated/satisfies"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/RequirementRelated/refines"/>
+        <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+            createChild="false" ecoreFeature="ecore:EReference sysml.ecore#//requirements/RequirementRelated/verifies"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Interactions" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//interactions">
+      <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="sysml.ecore#//interactions/Dummy"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Statemachines" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//statemachines">
+      <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="sysml.ecore#//statemachines/Dummy"/>
+    </nestedGenPackages>
+    <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Usecases" basePackage="org.eclipse.papyrus.sysml"
+        disposableProviderFactory="true" classPackageSuffix="internal.impl" fileExtensions=""
+        ecorePackage="sysml.ecore#//usecases">
+      <genDataTypes xsi:type="genmodel:GenDataType" ecoreDataType="sysml.ecore#//usecases/Dummy"/>
+    </nestedGenPackages>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/model/SysML.profile.uml b/sysml14/plugins/org.eclipse.papyrus.sysml/model/SysML.profile.uml
new file mode 100644
index 0000000..90b558b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/model/SysML.profile.uml
@@ -0,0 +1,845 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Profile xmi:id="_TZ_nULU5EduiKqCzJMWbGw" name="SysML" URI="http://www.eclipse.org/papyrus/0.7.0/SysML">
+    <ownedComment xmi:id="_S2RekKGvEdyj2Ya50HPlXg" annotatedElement="_TZ_nULU5EduiKqCzJMWbGw">
+      <body>OMG SysML V1.1 formal/2008-11-02</body>
+    </ownedComment>
+    <packageImport xmi:id="_TZ_nUbU5EduiKqCzJMWbGw">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:id="_BssfwKG1Edyj2Ya50HPlXg">
+      <importedPackage xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:id="_xyrS0EdKEeGJHdQius5NZA">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_Gx8MgLX7EduFmqQsrNB9lw" name="ModelElements" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements">
+      <ownedRule xmi:id="_h4cJsLVAEdu2ieF4ON8UjA" name="Conform_1" constrainedElement="_lsgYkLU9Edu2ieF4ON8UjA">
+        <specification xmi:type="uml:LiteralString" xmi:id="_vgvLYLVAEdu2ieF4ON8UjA" name="constraintBody" value="The supplier/target must be an element stereotyped by &lt;&lt;ViewPoint>>"/>
+      </ownedRule>
+      <ownedRule xmi:id="_ise1wLVAEdu2ieF4ON8UjA" name="Conform_2" constrainedElement="_lsgYkLU9Edu2ieF4ON8UjA">
+        <specification xmi:type="uml:LiteralString" xmi:id="_5gpKELVAEdu2ieF4ON8UjA" name="constraintBody" value="The client/source must be an element stereotyped by &lt;&lt;View>>"/>
+      </ownedRule>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_lsgYkLU9Edu2ieF4ON8UjA" name="Conform">
+        <ownedAttribute xmi:id="_9cxv0LU9Edu2ieF4ON8UjA" name="base_Dependency" isUnique="false" association="_9csQQLU9Edu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+        </ownedAttribute>
+        <icon xmi:id="_K8KhEIxREeCeve9iisDgtA" content="" format="" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/modelelements/Conform.gif">
+          <eAnnotations xmi:id="_K8KhEYxREeCeve9iisDgtA" source="image_papyrus">
+            <details xmi:id="_K8KhEoxREeCeve9iisDgtA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_mPGvULU9Edu2ieF4ON8UjA" name="View">
+        <ownedAttribute xmi:id="_3Qho8LU9Edu2ieF4ON8UjA" name="viewPoint" type="_mhSEcLU9Edu2ieF4ON8UjA" isUnique="false" isReadOnly="true" isDerived="true"/>
+        <ownedAttribute xmi:id="_9HrpkLU9Edu2ieF4ON8UjA" name="base_Package" isUnique="false" association="_9Hn_MLU9Edu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+        </ownedAttribute>
+        <icon xmi:id="_HbhE0IxREeCeve9iisDgtA" content="" format="" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/modelelements/View.gif">
+          <eAnnotations xmi:id="_HbhE0YxREeCeve9iisDgtA" source="image_papyrus">
+            <details xmi:id="_HbhE0oxREeCeve9iisDgtA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_mhSEcLU9Edu2ieF4ON8UjA" name="ViewPoint">
+        <ownedAttribute xmi:id="_89GKMLU9Edu2ieF4ON8UjA" name="base_Class" isUnique="false" association="_889AQLU9Edu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="__VwDoLU9Edu2ieF4ON8UjA" name="stakeHolders" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CoC60LU-Edu2ieF4ON8UjA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CoJBcLU-Edu2ieF4ON8UjA" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="__lB1wLU9Edu2ieF4ON8UjA" name="purpose" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CYtcELXzEdu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CYy7oLXzEdu94_NE0EO5_A" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="__s9pwLU9Edu2ieF4ON8UjA" name="concerns" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GLB5YLU-Edu2ieF4ON8UjA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GLE8sLU-Edu2ieF4ON8UjA" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="__48QQLU9Edu2ieF4ON8UjA" name="languages" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JsAs0LU-Edu2ieF4ON8UjA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JsEXMLU-Edu2ieF4ON8UjA" value="*"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_AEs0ULU-Edu2ieF4ON8UjA" name="methods" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_NyO7ULU-Edu2ieF4ON8UjA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_NyTz0LU-Edu2ieF4ON8UjA" value="*"/>
+        </ownedAttribute>
+        <icon xmi:id="__ZyqEIxQEeCeve9iisDgtA" content="" format="" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/modelelements/Viewpoint.gif">
+          <eAnnotations xmi:id="__ZyqEYxQEeCeve9iisDgtA" source="image_papyrus">
+            <details xmi:id="__ZyqEoxQEeCeve9iisDgtA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_mwAc8LU9Edu2ieF4ON8UjA" name="Rationale">
+        <ownedAttribute xmi:id="_8w124LU9Edu2ieF4ON8UjA" name="base_Comment" isUnique="false" association="_8wOy4LU9Edu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+        </ownedAttribute>
+        <icon xmi:id="_he_gwJaqEd2oqf5htPjXnA" format="" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/modelelements/Rationale.gif">
+          <eAnnotations xmi:id="_iLsOsJaqEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_iLsOsZaqEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_nARGgLU9Edu2ieF4ON8UjA" name="Problem">
+        <ownedAttribute xmi:id="_8fBuILU9Edu2ieF4ON8UjA" name="base_Comment" isUnique="false" association="_8ezEoLU9Edu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+        </ownedAttribute>
+        <icon xmi:id="_bMlHgJaqEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/modelelements/Problem.gif">
+          <eAnnotations xmi:id="_clOVcJaqEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_clOVcZaqEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_8ezEoLU9Edu2ieF4ON8UjA" name="CommentProblem" memberEnd="_8e050LU9Edu2ieF4ON8UjA _8fBuILU9Edu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_8e050LU9Edu2ieF4ON8UjA" name="extension_Problem" type="_nARGgLU9Edu2ieF4ON8UjA" aggregation="composite" association="_8ezEoLU9Edu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_8wOy4LU9Edu2ieF4ON8UjA" name="CommentRationale" memberEnd="_8wQBALU9Edu2ieF4ON8UjA _8w124LU9Edu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_8wQBALU9Edu2ieF4ON8UjA" name="extension_Rationale" type="_mwAc8LU9Edu2ieF4ON8UjA" aggregation="composite" association="_8wOy4LU9Edu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_889AQLU9Edu2ieF4ON8UjA" name="ClassViewPoint" memberEnd="_88-OYLU9Edu2ieF4ON8UjA _89GKMLU9Edu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_88-OYLU9Edu2ieF4ON8UjA" name="extension_ViewPoint" type="_mhSEcLU9Edu2ieF4ON8UjA" aggregation="composite" association="_889AQLU9Edu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_9Hn_MLU9Edu2ieF4ON8UjA" name="PackageView" memberEnd="_9HpNULU9Edu2ieF4ON8UjA _9HrpkLU9Edu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9HpNULU9Edu2ieF4ON8UjA" name="extension_View" type="_mPGvULU9Edu2ieF4ON8UjA" aggregation="composite" association="_9Hn_MLU9Edu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_9csQQLU9Edu2ieF4ON8UjA" name="DependencyConform" memberEnd="_9cuFcLU9Edu2ieF4ON8UjA _9cxv0LU9Edu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_9cuFcLU9Edu2ieF4ON8UjA" name="extension_Conform" type="_lsgYkLU9Edu2ieF4ON8UjA" aggregation="composite" association="_9csQQLU9Edu2ieF4ON8UjA"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_fSw28LX7EduFmqQsrNB9lw" name="Blocks" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks">
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_8J2A8LVAEdu2ieF4ON8UjA" name="Block">
+        <ownedAttribute xmi:id="__AIRkLVAEdu2ieF4ON8UjA" name="isEncapsulated" visibility="public" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YlBtQLXzEdu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YlJpELXzEdu94_NE0EO5_A" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_CJ77ILVBEdu2ieF4ON8UjA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_GdjFYLVBEdu2ieF4ON8UjA" name="base_Class" isUnique="false" association="_GdeM4LVBEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        </ownedAttribute>
+        <icon xmi:id="_YOLAMJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/Block.gif">
+          <eAnnotations xmi:id="_YvPs8JarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_YvPs8ZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_GdeM4LVBEdu2ieF4ON8UjA" name="ClassBlock" memberEnd="_GdgpILVBEdu2ieF4ON8UjA _GdjFYLVBEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_GdgpILVBEdu2ieF4ON8UjA" name="extension_Block" type="_8J2A8LVAEdu2ieF4ON8UjA" aggregation="composite" association="_GdeM4LVBEdu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_RbW2wLVBEdu2ieF4ON8UjA" name="DistributedProperty">
+        <ownedAttribute xmi:id="_S2fEgKGwEdyj2Ya50HPlXg" name="base_Property" isUnique="false" association="_S1PuYKGwEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_sLKhQLVBEdu2ieF4ON8UjA" name="Dimension">
+        <ownedAttribute xmi:id="_A8oRkKGxEdyj2Ya50HPlXg" name="base_InstanceSpecification" isUnique="false" association="_A73ckKGxEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </ownedAttribute>
+        <icon xmi:id="_cmay0JarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/Dimension.gif">
+          <eAnnotations xmi:id="_dWPtQJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_dWPtQZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_t9k6ELVBEdu2ieF4ON8UjA" name="Unit">
+        <ownedAttribute xmi:id="_CWx7YKGxEdyj2Ya50HPlXg" name="base_InstanceSpecification" isUnique="false" association="_CVceoKGxEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_U8AxIKGxEdyj2Ya50HPlXg" name="dimension" type="_sLKhQLVBEdu2ieF4ON8UjA" isUnique="false" association="_U6SS0KGxEdyj2Ya50HPlXg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U8ZLoKGxEdyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U8fSQKGxEdyj2Ya50HPlXg" value="1"/>
+        </ownedAttribute>
+        <icon xmi:id="_fyOngJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/Unit.gif">
+          <eAnnotations xmi:id="_gUMsIJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_gUMsIZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_yfp-ILVBEdu2ieF4ON8UjA" name="ValueType">
+        <ownedAttribute xmi:id="_1IPJ8LVBEdu2ieF4ON8UjA" name="base_DataType" isUnique="false" association="_1IK4gLVBEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_mfPXUKGxEdyj2Ya50HPlXg" name="unit" type="_t9k6ELVBEdu2ieF4ON8UjA" isUnique="false" association="_meABMKGxEdyj2Ya50HPlXg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mfhrMKGxEdyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mfnx0KGxEdyj2Ya50HPlXg" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_pj40EKGxEdyj2Ya50HPlXg" name="dimension" type="_sLKhQLVBEdu2ieF4ON8UjA" isUnique="false" association="_pivkkKGxEdyj2Ya50HPlXg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pkLH8KGxEdyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pkLH8aGxEdyj2Ya50HPlXg" value="1"/>
+        </ownedAttribute>
+        <icon xmi:id="_hqnFcJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/blocks/ValueType.gif">
+          <eAnnotations xmi:id="_iJTzoJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_iJTzoZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_1IK4gLVBEdu2ieF4ON8UjA" name="DataTypeValueType" memberEnd="_1IMGoLVBEdu2ieF4ON8UjA _1IPJ8LVBEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_1IMGoLVBEdu2ieF4ON8UjA" name="extension_ValueType" type="_yfp-ILVBEdu2ieF4ON8UjA" aggregation="composite" association="_1IK4gLVBEdu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_moxaQLVCEdu2ieF4ON8UjA" name="NestedConnectorEnd">
+        <ownedAttribute xmi:id="_oH640LVCEdu2ieF4ON8UjA" name="propertyPath" visibility="public" isOrdered="true" isUnique="false">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4ZtWsMq4Ed2earfX6q16xg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4Z1SgMq4Ed2earfX6q16xg" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="__DZ9ILVCEdu2ieF4ON8UjA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_pbCGgLVCEdu2ieF4ON8UjA" name="base_ConnectorEnd" isUnique="false" association="_pa9OALVCEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_pa9OALVCEdu2ieF4ON8UjA" name="ConnectorEndNestedConnectorEnd" memberEnd="_pa_qQLVCEdu2ieF4ON8UjA _pbCGgLVCEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_pa_qQLVCEdu2ieF4ON8UjA" name="extension_NestedConnectorEnd" type="_moxaQLVCEdu2ieF4ON8UjA" aggregation="composite" association="_pa9OALVCEdu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_AJuDYKGwEdyj2Ya50HPlXg" name="ParticipantProperty">
+        <ownedAttribute xmi:id="_VHXiAKGwEdyj2Ya50HPlXg" name="base_Property" isUnique="false" association="_VGOSgKGwEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_X_BroKGwEdyj2Ya50HPlXg" name="end" visibility="public" isUnique="false">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aock8KGwEdyj2Ya50HPlXg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aock8aGwEdyj2Ya50HPlXg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_aoirkKGwEdyj2Ya50HPlXg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_FC-RUKGwEdyj2Ya50HPlXg" name="ConnectorProperty">
+        <ownedAttribute xmi:id="_TsQO4KGwEdyj2Ya50HPlXg" name="base_Property" isUnique="false" association="_TrG_YKGwEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_bq6ukKGwEdyj2Ya50HPlXg" name="connector" visibility="public" isUnique="false">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pyY_kKGwEdyj2Ya50HPlXg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pyfGMKGwEdyj2Ya50HPlXg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_pyfGMaGwEdyj2Ya50HPlXg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_S1PuYKGwEdyj2Ya50HPlXg" name="Extension_DistributedProperty" memberEnd="_S2S3QKGwEdyj2Ya50HPlXg _S2fEgKGwEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_S2S3QKGwEdyj2Ya50HPlXg" name="extension_DistributedProperty" type="_RbW2wLVBEdu2ieF4ON8UjA" aggregation="composite" association="_S1PuYKGwEdyj2Ya50HPlXg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_TrG_YKGwEdyj2Ya50HPlXg" name="Extension_ConnectorProperty" memberEnd="_TsEBoKGwEdyj2Ya50HPlXg _TsQO4KGwEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_TsEBoKGwEdyj2Ya50HPlXg" name="extension_ConnectorProperty" type="_FC-RUKGwEdyj2Ya50HPlXg" aggregation="composite" association="_TrG_YKGwEdyj2Ya50HPlXg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_VGOSgKGwEdyj2Ya50HPlXg" name="Extension_ParticipantProperty" memberEnd="_VHLUwKGwEdyj2Ya50HPlXg _VHXiAKGwEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_VHLUwKGwEdyj2Ya50HPlXg" name="extension_ParticipantProperty" type="_AJuDYKGwEdyj2Ya50HPlXg" aggregation="composite" association="_VGOSgKGwEdyj2Ya50HPlXg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_A73ckKGxEdyj2Ya50HPlXg" name="Extension_Dimension" memberEnd="_A8iK8KGxEdyj2Ya50HPlXg _A8oRkKGxEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_A8iK8KGxEdyj2Ya50HPlXg" name="extension_Dimension" type="_sLKhQLVBEdu2ieF4ON8UjA" aggregation="composite" association="_A73ckKGxEdyj2Ya50HPlXg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_CVceoKGxEdyj2Ya50HPlXg" name="Extension_Unit" memberEnd="_CWfngKGxEdyj2Ya50HPlXg _CWx7YKGxEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CWfngKGxEdyj2Ya50HPlXg" name="extension_Unit" type="_t9k6ELVBEdu2ieF4ON8UjA" aggregation="composite" association="_CVceoKGxEdyj2Ya50HPlXg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_2qgsEKGxEdyj2Ya50HPlXg" name="BindingConnector">
+        <ownedAttribute xmi:id="_7l3y0KGxEdyj2Ya50HPlXg" name="base_Connector" isUnique="false" association="_7k6wkKGxEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_7k6wkKGxEdyj2Ya50HPlXg" name="Extension_BindingConnector" memberEnd="_7lrlkKGxEdyj2Ya50HPlXg _7l3y0KGxEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7lrlkKGxEdyj2Ya50HPlXg" name="extension_BindingConnector" type="_2qgsEKGxEdyj2Ya50HPlXg" aggregation="composite" association="_7k6wkKGxEdyj2Ya50HPlXg"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_aD-7EKGyEdyj2Ya50HPlXg" name="PropertySpecificType">
+        <ownedAttribute xmi:id="_kwLYAKGyEdyj2Ya50HPlXg" name="base_Classifier" isUnique="false" association="_kuv0oKGyEdyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="_U6SS0KGxEdyj2Ya50HPlXg" name="Association_Unit_Dimension" memberEnd="_U8AxIKGxEdyj2Ya50HPlXg _U8lY4KGxEdyj2Ya50HPlXg">
+        <ownedEnd xmi:id="_U8lY4KGxEdyj2Ya50HPlXg" name="unit" type="_t9k6ELVBEdu2ieF4ON8UjA" isUnique="false" association="_U6SS0KGxEdyj2Ya50HPlXg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U9KAoaGxEdyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U9KAoKGxEdyj2Ya50HPlXg" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="_meABMKGxEdyj2Ya50HPlXg" name="Association_ValueType_Unit" memberEnd="_mfPXUKGxEdyj2Ya50HPlXg _mfnx0aGxEdyj2Ya50HPlXg">
+        <ownedEnd xmi:id="_mfnx0aGxEdyj2Ya50HPlXg" name="valueType" type="_yfp-ILVBEdu2ieF4ON8UjA" isUnique="false" association="_meABMKGxEdyj2Ya50HPlXg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mgGS8aGxEdyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mgGS8KGxEdyj2Ya50HPlXg" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Association" xmi:id="_pivkkKGxEdyj2Ya50HPlXg" name="Association_ValueType_Dimension" memberEnd="_pj40EKGxEdyj2Ya50HPlXg _pkROkKGxEdyj2Ya50HPlXg">
+        <ownedEnd xmi:id="_pkROkKGxEdyj2Ya50HPlXg" name="valueType" type="_yfp-ILVBEdu2ieF4ON8UjA" isUnique="false" association="_pivkkKGxEdyj2Ya50HPlXg">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pkdb0aGxEdyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pkdb0KGxEdyj2Ya50HPlXg" value="*"/>
+        </ownedEnd>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_kuv0oKGyEdyj2Ya50HPlXg" name="Extension_PropertySpecificType" memberEnd="_kv_KwKGyEdyj2Ya50HPlXg _kwLYAKGyEdyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_kv_KwKGyEdyj2Ya50HPlXg" name="extension_PropertySpecificType" type="_aD-7EKGyEdyj2Ya50HPlXg" aggregation="composite" association="_kuv0oKGyEdyj2Ya50HPlXg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_rpx28LX7EduFmqQsrNB9lw" name="PortAndFlows" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows">
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_lNvKMLVDEdu2ieF4ON8UjA" name="FlowPort">
+        <ownedAttribute xmi:id="_CFKogLVEEdu2ieF4ON8UjA" name="base_Port" isUnique="false" association="_CFFI8LVEEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_TrY4ULVEEdu2ieF4ON8UjA" name="isAtomic" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XOdWcLVEEdu2ieF4ON8UjA" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XOnugLVEEdu2ieF4ON8UjA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_YqxjcLVEEdu2ieF4ON8UjA"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_T-tc8LVEEdu2ieF4ON8UjA" name="isConjugated" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bKXLULVEEdu2ieF4ON8UjA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bKcD0LVEEdu2ieF4ON8UjA" value="1"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_ULDP0LVEEdu2ieF4ON8UjA" name="direction" visibility="public" type="_6uLz4LVDEdu2ieF4ON8UjA" isUnique="false">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_am2iIKGzEdyj2Ya50HPlXg" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_am8owKGzEdyj2Ya50HPlXg" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_awls8KGzEdyj2Ya50HPlXg" value="inout"/>
+        </ownedAttribute>
+        <ownedOperation xmi:id="_hxx1MKaVEd2T5POpEd8M_A" name="getIcon">
+          <ownedParameter xmi:id="_j2I5oKaVEd2T5POpEd8M_A" name="img" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:id="_Prrn8KaUEd2T5POpEd8M_A" format="" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort.gif">
+          <eAnnotations xmi:id="_bgbBUKaUEd2T5POpEd8M_A" source="image_papyrus">
+            <details xmi:id="_bgbBUaaUEd2T5POpEd8M_A" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_RCIdgKaUEd2T5POpEd8M_A" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_IN.gif">
+          <eAnnotations xmi:id="_c1rkEKaUEd2T5POpEd8M_A" source="image_papyrus">
+            <details xmi:id="_c1rkEaaUEd2T5POpEd8M_A" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_UZgpAKaUEd2T5POpEd8M_A" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_OUT.gif">
+          <eAnnotations xmi:id="_eKCu8KaUEd2T5POpEd8M_A" source="image_papyrus">
+            <details xmi:id="_eKL44KaUEd2T5POpEd8M_A" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_WNehAKaUEd2T5POpEd8M_A" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_INOUT.gif">
+          <eAnnotations xmi:id="_geMi4KaUEd2T5POpEd8M_A" source="image_papyrus">
+            <details xmi:id="_geMi4aaUEd2T5POpEd8M_A" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_Wx_jUKaUEd2T5POpEd8M_A" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowPort_NA.gif">
+          <eAnnotations xmi:id="_iKaNEKaUEd2T5POpEd8M_A" source="image_papyrus">
+            <details xmi:id="_iKaNEaaUEd2T5POpEd8M_A" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_mB-qkLVDEdu2ieF4ON8UjA" name="FlowProperty">
+        <ownedAttribute xmi:id="_CyXswLVEEdu2ieF4ON8UjA" name="base_Property" isUnique="false" association="_CyRmILVEEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_M9NJELVEEdu2ieF4ON8UjA" name="direction" visibility="public" type="_6uLz4LVDEdu2ieF4ON8UjA" isUnique="false">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eNi_gLX0Edu94_NE0EO5_A" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eNqUQLX0Edu94_NE0EO5_A" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_PRpQ4LVEEdu2ieF4ON8UjA" value="inout"/>
+        </ownedAttribute>
+        <ownedOperation xmi:id="_sZT0kKaVEd2T5POpEd8M_A" name="getIcon">
+          <ownedParameter xmi:id="_sZT0kaaVEd2T5POpEd8M_A" name="img" direction="return">
+            <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+          </ownedParameter>
+        </ownedOperation>
+        <icon xmi:id="_3Fo88NOpEeCksKIBVNCBtw" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty.gif">
+          <eAnnotations xmi:id="_3Fo88dOpEeCksKIBVNCBtw" source="image_papyrus">
+            <details xmi:id="_3Fo88tOpEeCksKIBVNCBtw" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_yZrmoJayEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_IN.gif">
+          <eAnnotations xmi:id="_010R4JayEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_01-C4JayEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_y_heoJayEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_OUT.gif">
+          <eAnnotations xmi:id="_2tBEEJayEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_2tBEEZayEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+        <icon xmi:id="_z-GmwJayEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowProperty_INOUT.gif">
+          <eAnnotations xmi:id="_36CQ0JayEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_36CQ0ZayEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_m9QnELVDEdu2ieF4ON8UjA" name="FlowSpecification">
+        <ownedAttribute xmi:id="_DD6vwLVEEdu2ieF4ON8UjA" name="base_Interface" isUnique="false" association="_DD0pILVEEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+        </ownedAttribute>
+        <icon xmi:id="_viR7sJayEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/FlowSpecification.gif">
+          <eAnnotations xmi:id="_wU7goJayEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_wU7goZayEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Enumeration" xmi:id="_6uLz4LVDEdu2ieF4ON8UjA" name="FlowDirection">
+        <ownedLiteral xmi:id="_8A5Y8LVDEdu2ieF4ON8UjA" name="in"/>
+        <ownedLiteral xmi:id="_8ZVHELVDEdu2ieF4ON8UjA" name="out"/>
+        <ownedLiteral xmi:id="_8lvLYLVDEdu2ieF4ON8UjA" name="inout"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_CFFI8LVEEdu2ieF4ON8UjA" name="PortFlowPort" memberEnd="_CFG-ILVEEdu2ieF4ON8UjA _CFKogLVEEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CFG-ILVEEdu2ieF4ON8UjA" name="extension_FlowPort" type="_lNvKMLVDEdu2ieF4ON8UjA" aggregation="composite" association="_CFFI8LVEEdu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_CyRmILVEEdu2ieF4ON8UjA" name="PropertyFlowProperty" memberEnd="_CyUCYLVEEdu2ieF4ON8UjA _CyXswLVEEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CyUCYLVEEdu2ieF4ON8UjA" name="extension_FlowProperty" type="_mB-qkLVDEdu2ieF4ON8UjA" aggregation="composite" association="_CyRmILVEEdu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_DD0pILVEEdu2ieF4ON8UjA" name="InterfaceFlowSpecification" memberEnd="_DD2eULVEEdu2ieF4ON8UjA _DD6vwLVEEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DD2eULVEEdu2ieF4ON8UjA" name="extension_FlowSpecification" type="_m9QnELVDEdu2ieF4ON8UjA" aggregation="composite" association="_DD0pILVEEdu2ieF4ON8UjA"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_9cdikLVEEdu2ieF4ON8UjA" name="ItemFlow">
+        <ownedAttribute xmi:id="_-8t0YLVEEdu2ieF4ON8UjA" name="base_InformationFlow" isUnique="false" association="_-8ntwLVEEdu2ieF4ON8UjA">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="__ulWMLVEEdu2ieF4ON8UjA" name="itemProperty" visibility="public" isUnique="false">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FduDQLVFEdu2ieF4ON8UjA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Fdy7wLVFEdu2ieF4ON8UjA" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_D-wK4LVFEdu2ieF4ON8UjA">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <icon xmi:id="_iNY0AIQlEd-0wPxCyQxNhg" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/portandflows/ItemFlow.gif">
+          <eAnnotations xmi:id="_mKHvUIQlEd-0wPxCyQxNhg" source="image_papyrus">
+            <details xmi:id="_mKHvUYQlEd-0wPxCyQxNhg" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_-8ntwLVEEdu2ieF4ON8UjA" name="InformationFlowItemFlow" memberEnd="_-8qKALVEEdu2ieF4ON8UjA _-8t0YLVEEdu2ieF4ON8UjA">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-8qKALVEEdu2ieF4ON8UjA" name="extension_ItemFlow" type="_9cdikLVEEdu2ieF4ON8UjA" aggregation="composite" association="_-8ntwLVEEdu2ieF4ON8UjA"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_5WYJ0LX7EduFmqQsrNB9lw" name="Constraints" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints">
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_YDK7cLVFEdu2ieF4ON8UjA" name="ConstraintBlock">
+        <generalization xmi:id="_dgUgoLVFEdu2ieF4ON8UjA" general="_8J2A8LVAEdu2ieF4ON8UjA"/>
+        <icon xmi:id="_Oy6msJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/constraints/ConstraintBlock.gif">
+          <eAnnotations xmi:id="_PcehEJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_PcehEZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Y9X54LVFEdu2ieF4ON8UjA" name="ConstraintProperty">
+        <ownedAttribute xmi:id="_F3b3UKG0Edyj2Ya50HPlXg" name="base_Property" isUnique="false" association="_F2AT8KG0Edyj2Ya50HPlXg">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+        </ownedAttribute>
+        <icon xmi:id="_TSAoMJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/constraints/ConstraintProperty.gif">
+          <eAnnotations xmi:id="_T2OIgJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_T2OIgZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_F2AT8KG0Edyj2Ya50HPlXg" name="Extension_ConstraintProperty" memberEnd="_F3PqEKG0Edyj2Ya50HPlXg _F3b3UKG0Edyj2Ya50HPlXg">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_F3PqEKG0Edyj2Ya50HPlXg" name="extension_ConstraintProperty" type="_Y9X54LVFEdu2ieF4ON8UjA" aggregation="composite" association="_F2AT8KG0Edyj2Ya50HPlXg"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_C2zXMLX8EduFmqQsrNB9lw" name="Activities" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities">
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_1uhmQLXjEduHWpAaWjM62w" name="Optional">
+        <ownedAttribute xmi:id="_Cs5hMLXkEduHWpAaWjM62w" name="base_Parameter" isUnique="false" association="_CslYILXkEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_2a7ZQLXjEduHWpAaWjM62w" name="Rate">
+        <ownedAttribute xmi:id="_C-oKYLXkEduHWpAaWjM62w" name="base_Parameter" isUnique="false" association="_C-XrsLXkEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_DP0BALXkEduHWpAaWjM62w" name="base_ActivityEdge" isUnique="false" association="_DPssQLXkEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_YzasYLXkEduHWpAaWjM62w" name="rate" visibility="public" isUnique="false">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_w53UsLX0Edu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_w5_QgLX0Edu94_NE0EO5_A" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_68ayALXkEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_3MEiULXjEduHWpAaWjM62w" name="Probability">
+        <ownedAttribute xmi:id="_Dlxp8LXkEduHWpAaWjM62w" name="base_ActivityEdge" isUnique="false" association="_DlqVMLXkEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_DzIJcLXkEduHWpAaWjM62w" name="base_ParameterSet" isUnique="false" association="_DyyyQLXkEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_frTxQLXkEduHWpAaWjM62w" name="probability" visibility="public" isUnique="false">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ValueSpecification"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xbhQQLX0Edu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xbmIwLX0Edu94_NE0EO5_A" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_9CuXMLXkEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_8X4f4LXjEduHWpAaWjM62w" name="Continuous">
+        <generalization xmi:id="_BsHZoLXkEduHWpAaWjM62w" general="_2a7ZQLXjEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_-N-e0LXjEduHWpAaWjM62w" name="Discrete">
+        <generalization xmi:id="_BcS08LXkEduHWpAaWjM62w" general="_2a7ZQLXjEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_CslYILXkEduHWpAaWjM62w" name="ParameterOptionnal" memberEnd="_CsppkLXkEduHWpAaWjM62w _Cs5hMLXkEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_CsppkLXkEduHWpAaWjM62w" name="extension_Optionnal" type="_1uhmQLXjEduHWpAaWjM62w" aggregation="composite" association="_CslYILXkEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_C-XrsLXkEduHWpAaWjM62w" name="ParameterRate" memberEnd="_C-b9ILXkEduHWpAaWjM62w _C-oKYLXkEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_C-b9ILXkEduHWpAaWjM62w" name="extension_Rate" type="_2a7ZQLXjEduHWpAaWjM62w" aggregation="composite" association="_C-XrsLXkEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_DPssQLXkEduHWpAaWjM62w" name="ActivityEdgeRate" memberEnd="_DPvIgLXkEduHWpAaWjM62w _DP0BALXkEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DPvIgLXkEduHWpAaWjM62w" name="extension_Rate" type="_2a7ZQLXjEduHWpAaWjM62w" aggregation="composite" association="_DPssQLXkEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_DlqVMLXkEduHWpAaWjM62w" name="ActivityEdgeProbability" memberEnd="_DltYgLXkEduHWpAaWjM62w _Dlxp8LXkEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_DltYgLXkEduHWpAaWjM62w" name="extension_Probability" type="_3MEiULXjEduHWpAaWjM62w" aggregation="composite" association="_DlqVMLXkEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_DyyyQLXkEduHWpAaWjM62w" name="ParameterSetProbability" memberEnd="_Dy9KULXkEduHWpAaWjM62w _DzIJcLXkEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Dy9KULXkEduHWpAaWjM62w" name="extension_Probability" type="_3MEiULXjEduHWpAaWjM62w" aggregation="composite" association="_DyyyQLXkEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_KngK0LXlEduHWpAaWjM62w" name="ControlOperator">
+        <ownedAttribute xmi:id="_b2g0gLXlEduHWpAaWjM62w" name="base_Operation" isUnique="false" association="_b2ZfwLXlEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_cEMrMLXlEduHWpAaWjM62w" name="base_Behavior" isUnique="false" association="_cEEvYLXlEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_LClkULXlEduHWpAaWjM62w" name="NoBuffer">
+        <ownedAttribute xmi:id="_bbg6kLXlEduHWpAaWjM62w" name="base_ObjectNode" isUnique="false" association="_bbOmsLXlEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_LZkg8LXlEduHWpAaWjM62w" name="Overwrite">
+        <ownedAttribute xmi:id="_a-uQ4LXlEduHWpAaWjM62w" name="base_ObjectNode" isUnique="false" association="_a-V2YLXlEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_a-V2YLXlEduHWpAaWjM62w" name="ObjectNodeOverwrite" memberEnd="_a-Y5sLXlEduHWpAaWjM62w _a-uQ4LXlEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_a-Y5sLXlEduHWpAaWjM62w" name="extension_Overwrite" type="_LZkg8LXlEduHWpAaWjM62w" aggregation="composite" association="_a-V2YLXlEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_bbOmsLXlEduHWpAaWjM62w" name="ObjectNodeNoBuffer" memberEnd="_bbRqALXlEduHWpAaWjM62w _bbg6kLXlEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_bbRqALXlEduHWpAaWjM62w" name="extension_NoBuffer" type="_LClkULXlEduHWpAaWjM62w" aggregation="composite" association="_bbOmsLXlEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_b2ZfwLXlEduHWpAaWjM62w" name="OperationControlOperator" memberEnd="_b2cjELXlEduHWpAaWjM62w _b2g0gLXlEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_b2cjELXlEduHWpAaWjM62w" name="extension_ControlOperator" type="_KngK0LXlEduHWpAaWjM62w" aggregation="composite" association="_b2ZfwLXlEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_cEEvYLXlEduHWpAaWjM62w" name="BehaviorControlOperator" memberEnd="_cEHLoLXlEduHWpAaWjM62w _cEMrMLXlEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_cEHLoLXlEduHWpAaWjM62w" name="extension_ControlOperator" type="_KngK0LXlEduHWpAaWjM62w" aggregation="composite" association="_cEEvYLXlEduHWpAaWjM62w"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_NxdG4LX8EduFmqQsrNB9lw" name="Allocations" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations">
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_HGNjcLXnEduHWpAaWjM62w" name="Allocate">
+        <ownedAttribute xmi:id="_xL5QILYFEdutJMhZXRvi7w" name="base_Abstraction" isUnique="false" association="_xLkgALYFEdutJMhZXRvi7w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Hj0sgLXnEduHWpAaWjM62w" name="Allocated">
+        <ownedAttribute xmi:id="_NkvtILXnEduHWpAaWjM62w" name="base_NamedElement" isUnique="false" association="_NkSaILXnEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_Sj35kLXnEduHWpAaWjM62w" name="allocatedFrom" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZwR14LXnEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZwZKoLXnEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_VkmfoLXnEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_S07NULXnEduHWpAaWjM62w" name="allocatedTo" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZGYkULXnEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZGdc0LXnEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XgyfgLXnEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_IMU28LXnEduHWpAaWjM62w" name="AllocateActivityPartition">
+        <ownedAttribute xmi:id="_NJulELXnEduHWpAaWjM62w" name="base_ActivityPartition" isUnique="false" association="_NJacALXnEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_NJacALXnEduHWpAaWjM62w" name="ActivityPartitionAllocateActivityPartition" memberEnd="_NJdfULXnEduHWpAaWjM62w _NJulELXnEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_NJdfULXnEduHWpAaWjM62w" name="extension_AllocateActivityPartition" type="_IMU28LXnEduHWpAaWjM62w" aggregation="composite" association="_NJacALXnEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_NkSaILXnEduHWpAaWjM62w" name="NamedElementAllocated" memberEnd="_NkVdcLXnEduHWpAaWjM62w _NkvtILXnEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_NkVdcLXnEduHWpAaWjM62w" name="extension_Allocated" type="_Hj0sgLXnEduHWpAaWjM62w" aggregation="composite" association="_NkSaILXnEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_xLkgALYFEdutJMhZXRvi7w" name="AbstractionAllocate" memberEnd="_xLyicLYFEdutJMhZXRvi7w _xL5QILYFEdutJMhZXRvi7w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_xLyicLYFEdutJMhZXRvi7w" name="extension_Allocate" type="_HGNjcLXnEduHWpAaWjM62w" aggregation="composite" association="_xLkgALYFEdutJMhZXRvi7w"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_OOJC4LX8EduFmqQsrNB9lw" name="Requirements" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements">
+      <ownedComment xmi:id="_BmpG8LXoEduHWpAaWjM62w" annotatedElement="_TZ_nULU5EduiKqCzJMWbGw">
+        <body>Trace instead of Abstraction in SysML specifications.</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_LPnzYLXoEduHWpAaWjM62w" name="DeriveReqt">
+        <generalization xmi:id="_lr5SAKG1Edyj2Ya50HPlXg">
+          <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+        </generalization>
+        <icon xmi:id="__AeBoJaqEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/requirements/DeriveReqt.gif">
+          <eAnnotations xmi:id="__kO2AJaqEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="__kO2AZaqEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Lop-cLXoEduHWpAaWjM62w" name="Verify">
+        <generalization xmi:id="_mRzbcKG1Edyj2Ya50HPlXg">
+          <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+        </generalization>
+        <icon xmi:id="_Kcv3sJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/requirements/Verify.gif">
+          <eAnnotations xmi:id="_LGnUEJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_LGxFEJarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_L8HF8LXoEduHWpAaWjM62w" name="Copy">
+        <generalization xmi:id="_m3h-sKG1Edyj2Ya50HPlXg">
+          <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+        </generalization>
+        <icon xmi:id="_6oq68JaqEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/requirements/Copy.gif">
+          <eAnnotations xmi:id="_7LYmcJaqEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_7LYmcZaqEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Mqyw4LXoEduHWpAaWjM62w" name="Satisfy">
+        <generalization xmi:id="_qvChAMq5Ed2earfX6q16xg">
+          <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+        </generalization>
+        <icon xmi:id="_Fsqz4JarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/requirements/Satisfy.gif">
+          <eAnnotations xmi:id="_GTQSwJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_GTQSwZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_Sb6wELXqEduHWpAaWjM62w" name="TestCase">
+        <ownedAttribute xmi:id="_WCq0ULXqEduHWpAaWjM62w" name="base_Behavior" isUnique="false" association="_WCfOILXqEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_WeiQ8LXqEduHWpAaWjM62w" name="base_Operation" isUnique="false" association="_WeNg0LXqEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_zN7ToKG1Edyj2Ya50HPlXg" name="verifies" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38THQKG1Edyj2Ya50HPlXg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38ZN4KG1Edyj2Ya50HPlXg" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_3MQxcKG1Edyj2Ya50HPlXg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <icon xmi:id="_Hz8pcJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/requirements/TestCase.gif">
+          <eAnnotations xmi:id="_ITiIcJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_ITiIcZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_WCfOILXqEduHWpAaWjM62w" name="BehaviorTestCase" memberEnd="_WCjfkLXqEduHWpAaWjM62w _WCq0ULXqEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WCjfkLXqEduHWpAaWjM62w" name="extension_TestCase" type="_Sb6wELXqEduHWpAaWjM62w" aggregation="composite" association="_WCfOILXqEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_WeNg0LXqEduHWpAaWjM62w" name="OperationTestCase" memberEnd="_WeRLMLXqEduHWpAaWjM62w _WeiQ8LXqEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_WeRLMLXqEduHWpAaWjM62w" name="extension_TestCase" type="_Sb6wELXqEduHWpAaWjM62w" aggregation="composite" association="_WeNg0LXqEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_xajygLXqEduHWpAaWjM62w" name="Requirement">
+        <ownedAttribute xmi:id="_3DxdwLXqEduHWpAaWjM62w" name="text" visibility="public" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_6I1KMLXqEduHWpAaWjM62w" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6I6pwLXqEduHWpAaWjM62w" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6JDzsLXqEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_3YlQILXqEduHWpAaWjM62w" name="id" visibility="public" isUnique="false">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_82gRYLXqEduHWpAaWjM62w" value="1"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_82hfgLXqEduHWpAaWjM62w" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_82itoLXqEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_3jp3sLXqEduHWpAaWjM62w" name="derived" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AyC54LXrEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AyHyYLXrEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_AC_bgLXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_3wFxMLXqEduHWpAaWjM62w" name="derivedFrom" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DjDB4LXrEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DjJvkLXrEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DBZGULXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_FHcz4LXrEduHWpAaWjM62w" name="satisfiedBy" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MWueALXrEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MW1ywLXrEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_IKZAcLXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_F-KZcLXrEduHWpAaWjM62w" name="refinedBy" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_M3wugLXrEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_M31nALXrEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_KKjhYLXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_O6rBcLXrEduHWpAaWjM62w" name="tracedTo" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_attxsLXrEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_at2UkLXrEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_Qjs0wLXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_PHumALXrEduHWpAaWjM62w" name="verifiedBy" visibility="public" isUnique="false" isReadOnly="true" isDerived="true">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aFCoILXrEduHWpAaWjM62w"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aFIHsLXrEduHWpAaWjM62w" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_R1wSgLXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_PStuALXrEduHWpAaWjM62w" name="master" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PxcPcA_rEd2d6-7wXQb4hQ"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PxlZYA_rEd2d6-7wXQb4hQ" value="1"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_Svy44LXrEduHWpAaWjM62w">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_tSTRwLXsEduHWpAaWjM62w" name="base_Class" isUnique="false" association="_tRNsoLXsEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+        </ownedAttribute>
+        <icon xmi:id="_CEZFoJarEd2oqf5htPjXnA" location="platform:/plugin/org.eclipse.papyrus.sysml/icons/requirements/Requirement.gif">
+          <eAnnotations xmi:id="_CsUoUJarEd2oqf5htPjXnA" source="image_papyrus">
+            <details xmi:id="_CsUoUZarEd2oqf5htPjXnA" key="image_kind_key" value="icon"/>
+          </eAnnotations>
+        </icon>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Stereotype" xmi:id="_ypiHELXqEduHWpAaWjM62w" name="RequirementRelated">
+        <ownedAttribute xmi:id="_s4dOYLXsEduHWpAaWjM62w" name="base_NamedElement" isUnique="false" association="_s3V0ELXsEduHWpAaWjM62w">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_0nBtgLX1Edu94_NE0EO5_A" name="tracedFrom" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DO4HsLX2Edu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DO9nQLX2Edu94_NE0EO5_A" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_3hjk8LX1Edu94_NE0EO5_A">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_0yJ_cLX1Edu94_NE0EO5_A" name="satisfies" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_D2jywLX2Edu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_D2pSULX2Edu94_NE0EO5_A" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_6xIfULX1Edu94_NE0EO5_A">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_1AqVgLX1Edu94_NE0EO5_A" name="refines" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Epd2YLX2Edu94_NE0EO5_A"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Epiu4LX2Edu94_NE0EO5_A" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_4jXAMLX1Edu94_NE0EO5_A">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+        <ownedAttribute xmi:id="_56-VIMq4Ed2earfX6q16xg" name="verifies" visibility="public" type="_xajygLXqEduHWpAaWjM62w" isUnique="false" isReadOnly="true" isDerived="true">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9PR-gMq4Ed2earfX6q16xg"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9PbIcMq4Ed2earfX6q16xg" value="*"/>
+          <defaultValue xmi:type="uml:LiteralString" xmi:id="_Q73d4Mq5Ed2earfX6q16xg">
+            <value xsi:nil="true"/>
+          </defaultValue>
+        </ownedAttribute>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_s3V0ELXsEduHWpAaWjM62w" name="NamedElementRequirementRelated" memberEnd="_s32xcLXsEduHWpAaWjM62w _s4dOYLXsEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_s32xcLXsEduHWpAaWjM62w" name="extension_RequirementRelated" type="_ypiHELXqEduHWpAaWjM62w" aggregation="composite" association="_s3V0ELXsEduHWpAaWjM62w"/>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Extension" xmi:id="_tRNsoLXsEduHWpAaWjM62w" name="ClassRequirement" memberEnd="_tRfZcLXsEduHWpAaWjM62w _tSTRwLXsEduHWpAaWjM62w">
+        <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_tRfZcLXsEduHWpAaWjM62w" name="extension_Requirement" type="_xajygLXqEduHWpAaWjM62w" aggregation="composite" association="_tRNsoLXsEduHWpAaWjM62w"/>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_meOioLX8EduFmqQsrNB9lw" name="Interactions" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/Interactions">
+      <ownedComment xmi:id="_YQ6KULXmEduHWpAaWjM62w">
+        <body>No stereotypes defined for interactions.</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_MmIPsIY8Ed22f52x9jcYIQ" name="Dummy">
+        <ownedComment xmi:id="_MmIPsYY8Ed22f52x9jcYIQ">
+          <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+        </ownedComment>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_nAF5kLX8EduFmqQsrNB9lw" name="StateMachines" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/StateMachines">
+      <ownedComment xmi:id="_jYmQcLXmEduHWpAaWjM62w">
+        <body>No stereotypes defined for StateMachines.</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_MbshUIY8Ed22f52x9jcYIQ" name="Dummy">
+        <ownedComment xmi:id="_MbshUYY8Ed22f52x9jcYIQ">
+          <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+        </ownedComment>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_neZmMLX8EduFmqQsrNB9lw" name="UseCases" URI="http://www.eclipse.org/papyrus/0.7.0/SysML/UseCases">
+      <ownedComment xmi:id="_t3QAoLXmEduHWpAaWjM62w">
+        <body>No stereotypes defined for UseCases.</body>
+      </ownedComment>
+      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_MCXbUIY8Ed22f52x9jcYIQ" name="Dummy">
+        <ownedComment xmi:id="_MCXbUYY8Ed22f52x9jcYIQ">
+          <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+        </ownedComment>
+      </packagedElement>
+    </packagedElement>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_q7WXMIV3Ed2MZ72qAlfQ3A" name="Dummy">
+      <ownedComment xmi:id="_OQi_oIV3Ed2MZ72qAlfQ3A">
+        <body>Dummy DataType, just added for code generation purpose.&#xD;
+In other words, this data type for EMF generation of SysmlPackage and SysmlFactory&#xD;
+java classes in the model code.&#xD;
+&#xD;
+Do not remove this !!!</body>
+      </ownedComment>
+    </packagedElement>
+    <profileApplication xmi:id="_5GlvYAerEd22I9XGJS-A2Q">
+      <eAnnotations xmi:id="_6knzoAerEd22I9XGJS-A2Q" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_B1O6gAesEd22I9XGJS-A2Q" base_Package="_TZ_nULU5EduiKqCzJMWbGw" packageName="sysml" nsPrefix="SysML" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML" basePackage="org.eclipse.papyrus" prefix="sysml"/>
+  <Ecore:EPackage xmi:id="_3pfbQAfXEd2QR6cYbtS0qQ" base_Package="_Gx8MgLX7EduFmqQsrNB9lw" packageName="modelelements" nsPrefix="ModelElements" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" basePackage="org.eclipse.papyrus.sysml" prefix="modelelements"/>
+  <Ecore:EPackage xmi:id="_IwWr4AlUEd2igeYZcwolcw" base_Package="_fSw28LX7EduFmqQsrNB9lw" packageName="blocks" nsPrefix="Blocks" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" basePackage="org.eclipse.papyrus.sysml" prefix="blocks"/>
+  <Ecore:EPackage xmi:id="_d1ggsAlUEd2igeYZcwolcw" base_Package="_rpx28LX7EduFmqQsrNB9lw" packageName="portandflows" nsPrefix="PortAndFlows" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" basePackage="org.eclipse.papyrus.sysml" prefix="portandflows"/>
+  <Ecore:EPackage xmi:id="_rO6x0AlUEd2igeYZcwolcw" base_Package="_5WYJ0LX7EduFmqQsrNB9lw" packageName="constraints" nsPrefix="Constraints" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" basePackage="org.eclipse.papyrus.sysml" prefix="constraints"/>
+  <Ecore:EPackage xmi:id="_yQfXIAlUEd2igeYZcwolcw" base_Package="_C2zXMLX8EduFmqQsrNB9lw" packageName="activities" nsPrefix="Activities" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" basePackage="org.eclipse.papyrus.sysml" prefix="activities"/>
+  <Ecore:EPackage xmi:id="_AMeJ0AlVEd2igeYZcwolcw" base_Package="_NxdG4LX8EduFmqQsrNB9lw" packageName="allocations" nsPrefix="Allocations" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" basePackage="org.eclipse.papyrus.sysml" prefix="allocations"/>
+  <Ecore:EPackage xmi:id="_F8-v4AlVEd2igeYZcwolcw" base_Package="_OOJC4LX8EduFmqQsrNB9lw" packageName="requirements" nsPrefix="Requirements" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" basePackage="org.eclipse.papyrus.sysml" prefix="requirements"/>
+  <Ecore:EPackage xmi:id="_OZvg0AlVEd2igeYZcwolcw" base_Package="_meOioLX8EduFmqQsrNB9lw" packageName="interactions" nsPrefix="Interactions" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Interactions" basePackage="org.eclipse.papyrus.sysml" prefix="interactions"/>
+  <Ecore:EPackage xmi:id="_UYsykAlVEd2igeYZcwolcw" base_Package="_nAF5kLX8EduFmqQsrNB9lw" packageName="statemachines" nsPrefix="StateMachines" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/StateMachines" basePackage="org.eclipse.papyrus.sysml" prefix="statemachines"/>
+  <Ecore:EPackage xmi:id="_aw_xYAlVEd2igeYZcwolcw" base_Package="_neZmMLX8EduFmqQsrNB9lw" packageName="usecases" nsPrefix="UseCases" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/UseCases" basePackage="org.eclipse.papyrus.sysml" prefix="usecases"/>
+  <Ecore:EReference xmi:id="_gYTVgBETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_3Qho8LU9Edu2ieF4ON8UjA"/>
+  <Ecore:EAttribute xmi:id="_nuL98BETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_TrY4ULVEEdu2ieF4ON8UjA"/>
+  <Ecore:EReference xmi:id="_vCiVUBETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_Sj35kLXnEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_vsX8gBETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_S07NULXnEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_2MezgBETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_zN7ToKG1Edyj2Ya50HPlXg"/>
+  <Ecore:EReference xmi:id="_6gNSgBETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_3jp3sLXqEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_9TX9sBETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_3wFxMLXqEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="__o8G4BETEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_FHcz4LXrEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_CsuA8BEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_F-KZcLXrEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_F8uZIBEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_O6rBcLXrEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_JbEIQBEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_PHumALXrEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_MKgKABEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_PStuALXrEduHWpAaWjM62w"/>
+  <Ecore:EReference xmi:id="_PQ9koBEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_0nBtgLX1Edu94_NE0EO5_A"/>
+  <Ecore:EReference xmi:id="_SDRUMBEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_0yJ_cLX1Edu94_NE0EO5_A"/>
+  <Ecore:EReference xmi:id="_U_zWwBEUEd2lltFUEAEueA" isTransient="true" isVolatile="true" base_Property="_1AqVgLX1Edu94_NE0EO5_A"/>
+  <Ecore:EDataType xmi:id="_uEM-gIV3Ed2MZ72qAlfQ3A" instanceClassName="java.lang.String" base_PrimitiveType="_q7WXMIV3Ed2MZ72qAlfQ3A" dataTypeName="Dummy"/>
+  <Ecore:EDataType xmi:id="_PODUMIY8Ed22f52x9jcYIQ" instanceClassName="java.lang.String" base_PrimitiveType="_MmIPsIY8Ed22f52x9jcYIQ" dataTypeName="Dummy"/>
+  <Ecore:EDataType xmi:id="_Q0twAIY8Ed22f52x9jcYIQ" instanceClassName="java.lang.String" base_PrimitiveType="_MbshUIY8Ed22f52x9jcYIQ" dataTypeName="Dummy"/>
+  <Ecore:EDataType xmi:id="_SRZJYIY8Ed22f52x9jcYIQ" instanceClassName="java.lang.String" base_PrimitiveType="_MCXbUIY8Ed22f52x9jcYIQ"/>
+  <Ecore:EReference xmi:id="_T8NCYMq5Ed2earfX6q16xg" isTransient="true" isVolatile="true" base_Property="_56-VIMq4Ed2earfX6q16xg"/>
+</xmi:XMI>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/model/sysml.ecore b/sysml14/plugins/org.eclipse.papyrus.sysml/model/sysml.ecore
new file mode 100644
index 0000000..5854328
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/model/sysml.ecore
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sysml" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML" nsPrefix="SysML">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="OMG SysML V1.1 formal/2008-11-02&#xD;&#xA;Trace instead of Abstraction in SysML specifications."/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String"/>
+  <eSubpackages name="modelelements" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements"
+      nsPrefix="ModelElements">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="The supplier/target must be an element stereotyped by &lt;&lt;ViewPoint>>&#xD;&#xA;The client/source must be an element stereotyped by &lt;&lt;View>>"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="Conform">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="View">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="viewPoint" ordered="false"
+          unique="false" lowerBound="1" eType="#//modelelements/ViewPoint" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ViewPoint">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stakeHolders" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="purpose" ordered="false"
+          unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="concerns" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="languages" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="methods" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Rationale">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Problem">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="blocks" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks"
+      nsPrefix="Blocks">
+    <eClassifiers xsi:type="ecore:EClass" name="Block">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="isEncapsulated" ordered="false"
+          unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DistributedProperty">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Dimension">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+          ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Unit">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InstanceSpecification"
+          ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="dimension" ordered="false"
+          unique="false" eType="#//blocks/Dimension"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ValueType">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="unit" ordered="false"
+          unique="false" eType="#//blocks/Unit"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="dimension" ordered="false"
+          unique="false" eType="#//blocks/Dimension"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="NestedConnectorEnd">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="propertyPath" unique="false"
+          lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ConnectorEnd" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectorEnd"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ParticipantProperty">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ConnectorProperty">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BindingConnector">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PropertySpecificType">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="portandflows" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows"
+      nsPrefix="PortAndFlows">
+    <eClassifiers xsi:type="ecore:EClass" name="FlowPort">
+      <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+          changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+          derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugated" ordered="false"
+          unique="false" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+          unique="false" lowerBound="1" eType="#//portandflows/FlowDirection" defaultValueLiteral="inout"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="FlowDirection">
+      <eLiterals name="in"/>
+      <eLiterals name="out" value="1"/>
+      <eLiterals name="inout" value="2"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FlowProperty">
+      <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+          unique="false" lowerBound="1" eType="#//portandflows/FlowDirection" defaultValueLiteral="inout"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FlowSpecification">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ItemFlow">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_InformationFlow"
+          ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InformationFlow"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="itemProperty" ordered="false"
+          unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="constraints" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints"
+      nsPrefix="Constraints">
+    <eClassifiers xsi:type="ecore:EClass" name="ConstraintBlock" eSuperTypes="#//blocks/Block"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ConstraintProperty">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="activities" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities"
+      nsPrefix="Activities">
+    <eClassifiers xsi:type="ecore:EClass" name="Optional">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Rate">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityEdge" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityEdge"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="rate" ordered="false"
+          unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Probability">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityEdge" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityEdge"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ParameterSet" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="probability" ordered="false"
+          unique="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Continuous" eSuperTypes="#//activities/Rate"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Discrete" eSuperTypes="#//activities/Rate"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ControlOperator">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="NoBuffer">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Overwrite">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="allocations" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations"
+      nsPrefix="Allocations">
+    <eClassifiers xsi:type="ecore:EClass" name="Allocate">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Abstraction" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Abstraction"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Allocated">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="allocatedFrom" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="allocatedTo" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AllocateActivityPartition">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+          ordered="false" unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityPartition"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="requirements" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements"
+      nsPrefix="Requirements">
+    <eClassifiers xsi:type="ecore:EClass" name="DeriveReqt" eSuperTypes="platform:/plugin/org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Trace"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Verify" eSuperTypes="platform:/plugin/org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Trace"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Copy" eSuperTypes="platform:/plugin/org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Trace"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Satisfy" eSuperTypes="platform:/plugin/org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Trace"/>
+    <eClassifiers xsi:type="ecore:EClass" name="TestCase">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="verifies" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="Requirement">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" unique="false"
+          lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.uml2.types/model/Types.ecore#//String"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="derived" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedBy" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="refinedBy" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="tracedTo" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="verifiedBy" ordered="false"
+          unique="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+          changeable="false" volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="master" ordered="false"
+          unique="false" eType="#//requirements/Requirement" changeable="false" volatile="true"
+          transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="RequirementRelated">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+          unique="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="tracedFrom" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="satisfies" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="refines" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="verifies" ordered="false"
+          unique="false" upperBound="-1" eType="#//requirements/Requirement" changeable="false"
+          volatile="true" transient="true" derived="true"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="interactions" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/Interactions"
+      nsPrefix="Interactions">
+    <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+  <eSubpackages name="statemachines" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/StateMachines"
+      nsPrefix="StateMachines">
+    <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+  <eSubpackages name="usecases" nsURI="http://www.eclipse.org/papyrus/0.7.0/SysML/UseCases"
+      nsPrefix="UseCases">
+    <eClassifiers xsi:type="ecore:EDataType" name="Dummy" instanceClassName="java.lang.String"/>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/plugin.properties b/sysml14/plugins/org.eclipse.papyrus.sysml/plugin.properties
new file mode 100644
index 0000000..af26c35
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - initial API and implementation
+##################################################################################
+pluginName=UML profile for SysML (from OMG SysML V1.1 formal/2008-11-02)
+providerName=Eclipse Modeling Project
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/plugin.xml b/sysml14/plugins/org.eclipse.papyrus.sysml/plugin.xml
new file mode 100644
index 0000000..166b4a1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/plugin.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+  <extension point="org.eclipse.emf.ecore.generated_package">
+    <package 
+       uri = "http://www.eclipse.org/papyrus/0.7.0/SysML" 
+       class = "org.eclipse.papyrus.sysml.SysmlPackage"
+       genModel = "model/SysML.profile.genmodel" /> 
+  </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements"
+            class="org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks"
+            class="org.eclipse.papyrus.sysml.blocks.BlocksPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows"
+            class="org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints"
+            class="org.eclipse.papyrus.sysml.constraints.ConstraintsPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities"
+            class="org.eclipse.papyrus.sysml.activities.ActivitiesPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations"
+            class="org.eclipse.papyrus.sysml.allocations.AllocationsPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements"
+            class="org.eclipse.papyrus.sysml.requirements.RequirementsPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Interactions"
+            class="org.eclipse.papyrus.sysml.interactions.InteractionsPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/StateMachines"
+            class="org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated SysML.profile -->
+      <package
+            uri="http://www.eclipse.org/papyrus/0.7.0/SysML/UseCases"
+            class="org.eclipse.papyrus.sysml.usecases.UsecasesPackage"
+            genModel="model/SysML.profile.genmodel"/>
+   </extension>
+
+  
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/> 
+  </extension>  
+
+  
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/> 
+  </extension>  
+  
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/> 
+  </extension>    
+  
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/> 
+  </extension>      
+
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/> 
+  </extension>        
+
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/> 
+  </extension>       
+
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/> 
+  </extension>     
+
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/> 
+  </extension>     
+    
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/Interactions" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/> 
+  </extension> 
+
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+        <profile 
+   			uri="http://www.eclipse.org/papyrus/0.7.0/SysML/StateMachines" 
+   			location="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/> 
+  </extension>
+  <extension
+        point="org.eclipse.uml2.uml.generated_package">
+     <profile
+           uri="http://www.eclipse.org/papyrus/0.7.0/SysML/UseCases"
+           location="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+  </extension> 
+  <extension
+         point="org.eclipse.emf.ecore.uri_mapping">
+      <mapping
+            source="pathmap://SysML_LIBRARIES/"
+            target="platform:/plugin/org.eclipse.papyrus.sysml/libraries/"/>
+      <mapping
+            source="pathmap://SysML_PROFILES/"
+            target="platform:/plugin/org.eclipse.papyrus.sysml/model/"/>
+   </extension>   
+</plugin>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/pom.xml b/sysml14/plugins/org.eclipse.papyrus.sysml/pom.xml
new file mode 100644
index 0000000..c06654e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.sysml</artifactId>
+	<packaging>eclipse-plugin</packaging>
+</project>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/SysmlFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/SysmlFactory.java
new file mode 100644
index 0000000..700ffe2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/SysmlFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.SysmlPackage
+ * @generated
+ */
+public interface SysmlFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	SysmlFactory eINSTANCE = org.eclipse.papyrus.sysml.internal.impl.SysmlFactoryImpl.init();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	SysmlPackage getSysmlPackage();
+
+} // SysmlFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/SysmlPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/SysmlPackage.java
new file mode 100644
index 0000000..a8980ba
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/SysmlPackage.java
@@ -0,0 +1,128 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> Version : 1.0 Based on OMG
+ * SysML Specification V1.0 (formal/2007-09-01) Trace instead of Abstraction in
+ * SysML specifications. <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.SysmlFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SysmlPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '<em>Dummy</em>' data type. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see java.lang.String
+		 * @see org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl#getDummy()
+		 * @generated
+		 */
+		EDataType DUMMY = eINSTANCE.getDummy();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "sysml";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "SysML";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	SysmlPackage eINSTANCE = org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl.init();
+
+	/**
+	 * The meta object id for the '<em>Dummy</em>' data type. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see java.lang.String
+	 * @see org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl#getDummy()
+	 * @generated
+	 */
+	int DUMMY = 0;
+
+	/**
+	 * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for data type '<em>Dummy</em>'.
+	 * @see java.lang.String
+	 * @model instanceClass="java.lang.String"
+	 * @generated
+	 */
+	EDataType getDummy();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	SysmlFactory getSysmlFactory();
+
+} // SysmlPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ActivitiesFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ActivitiesFactory.java
new file mode 100644
index 0000000..a7d3d71
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ActivitiesFactory.java
@@ -0,0 +1,125 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage
+ * @generated
+ */
+public interface ActivitiesFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	ActivitiesFactory eINSTANCE = org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Optional</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Optional</em>'.
+	 * @generated
+	 */
+	Optional createOptional();
+
+	/**
+	 * Returns a new object of class '<em>Continuous</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Continuous</em>'.
+	 * @generated
+	 */
+	Continuous createContinuous();
+
+	/**
+	 * Returns a new object of class '<em>Control Operator</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Control Operator</em>'.
+	 * @generated
+	 */
+	ControlOperator createControlOperator();
+
+	/**
+	 * Returns a new object of class '<em>Discrete</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Discrete</em>'.
+	 * @generated
+	 */
+	Discrete createDiscrete();
+
+	/**
+	 * Returns a new object of class '<em>No Buffer</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>No Buffer</em>'.
+	 * @generated
+	 */
+	NoBuffer createNoBuffer();
+
+	/**
+	 * Returns a new object of class '<em>Overwrite</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Overwrite</em>'.
+	 * @generated
+	 */
+	Overwrite createOverwrite();
+
+	/**
+	 * Returns a new object of class '<em>Probability</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Probability</em>'.
+	 * @generated
+	 */
+	Probability createProbability();
+
+	/**
+	 * Returns a new object of class '<em>Rate</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Rate</em>'.
+	 * @generated
+	 */
+	Rate createRate();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ActivitiesPackage getActivitiesPackage();
+
+} // ActivitiesFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ActivitiesPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ActivitiesPackage.java
new file mode 100644
index 0000000..c9234e8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ActivitiesPackage.java
@@ -0,0 +1,870 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ActivitiesPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.activities.internal.impl.OptionalImpl
+		 * <em>Optional</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.OptionalImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getOptional()
+		 * @generated
+		 */
+		EClass OPTIONAL = eINSTANCE.getOptional();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Parameter</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference OPTIONAL__BASE_PARAMETER = eINSTANCE.getOptional_Base_Parameter();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl <em>Rate</em>}' class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getRate()
+		 * @generated
+		 */
+		EClass RATE = eINSTANCE.getRate();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Parameter</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference RATE__BASE_PARAMETER = eINSTANCE.getRate_Base_Parameter();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Activity Edge</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference RATE__BASE_ACTIVITY_EDGE = eINSTANCE.getRate_Base_ActivityEdge();
+
+		/**
+		 * The meta object literal for the '<em><b>Rate</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference RATE__RATE = eINSTANCE.getRate_Rate();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl <em>Probability</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getProbability()
+		 * @generated
+		 */
+		EClass PROBABILITY = eINSTANCE.getProbability();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Activity Edge</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROBABILITY__BASE_ACTIVITY_EDGE = eINSTANCE.getProbability_Base_ActivityEdge();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Parameter Set</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROBABILITY__BASE_PARAMETER_SET = eINSTANCE.getProbability_Base_ParameterSet();
+
+		/**
+		 * The meta object literal for the '<em><b>Probability</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROBABILITY__PROBABILITY = eINSTANCE.getProbability_Probability();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.ContinuousImpl <em>Continuous</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ContinuousImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getContinuous()
+		 * @generated
+		 */
+		EClass CONTINUOUS = eINSTANCE.getContinuous();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.activities.internal.impl.DiscreteImpl
+		 * <em>Discrete</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.DiscreteImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getDiscrete()
+		 * @generated
+		 */
+		EClass DISCRETE = eINSTANCE.getDiscrete();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.ControlOperatorImpl <em>Control Operator</em>}'
+		 * class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ControlOperatorImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getControlOperator()
+		 * @generated
+		 */
+		EClass CONTROL_OPERATOR = eINSTANCE.getControlOperator();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Operation</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTROL_OPERATOR__BASE_OPERATION = eINSTANCE.getControlOperator_Base_Operation();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Behavior</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONTROL_OPERATOR__BASE_BEHAVIOR = eINSTANCE.getControlOperator_Base_Behavior();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.activities.internal.impl.NoBufferImpl
+		 * <em>No Buffer</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.NoBufferImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getNoBuffer()
+		 * @generated
+		 */
+		EClass NO_BUFFER = eINSTANCE.getNoBuffer();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Object Node</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference NO_BUFFER__BASE_OBJECT_NODE = eINSTANCE.getNoBuffer_Base_ObjectNode();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.activities.internal.impl.OverwriteImpl
+		 * <em>Overwrite</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.OverwriteImpl
+		 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getOverwrite()
+		 * @generated
+		 */
+		EClass OVERWRITE = eINSTANCE.getOverwrite();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Object Node</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference OVERWRITE__BASE_OBJECT_NODE = eINSTANCE.getOverwrite_Base_ObjectNode();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "activities";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/Activities";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "Activities";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	ActivitiesPackage eINSTANCE = org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.OptionalImpl <em>Optional</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.OptionalImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getOptional()
+	 * @generated
+	 */
+	int OPTIONAL = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Parameter</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int OPTIONAL__BASE_PARAMETER = 0;
+
+	/**
+	 * The number of structural features of the '<em>Optional</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int OPTIONAL_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Optional</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int OPTIONAL_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl <em>Rate</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getRate()
+	 * @generated
+	 */
+	int RATE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Parameter</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATE__BASE_PARAMETER = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATE__BASE_ACTIVITY_EDGE = 1;
+
+	/**
+	 * The feature id for the '<em><b>Rate</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATE__RATE = 2;
+
+	/**
+	 * The number of structural features of the '<em>Rate</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Rate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl
+	 * <em>Probability</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getProbability()
+	 * @generated
+	 */
+	int PROBABILITY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBABILITY__BASE_ACTIVITY_EDGE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Parameter Set</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBABILITY__BASE_PARAMETER_SET = 1;
+
+	/**
+	 * The feature id for the '<em><b>Probability</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBABILITY__PROBABILITY = 2;
+
+	/**
+	 * The number of structural features of the '<em>Probability</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBABILITY_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Probability</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBABILITY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.activities.internal.impl.ContinuousImpl
+	 * <em>Continuous</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ContinuousImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getContinuous()
+	 * @generated
+	 */
+	int CONTINUOUS = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Parameter</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUOUS__BASE_PARAMETER = RATE__BASE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUOUS__BASE_ACTIVITY_EDGE = RATE__BASE_ACTIVITY_EDGE;
+
+	/**
+	 * The feature id for the '<em><b>Rate</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUOUS__RATE = RATE__RATE;
+
+	/**
+	 * The number of structural features of the '<em>Continuous</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUOUS_FEATURE_COUNT = RATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Continuous</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUOUS_OPERATION_COUNT = RATE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.DiscreteImpl <em>Discrete</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.DiscreteImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getDiscrete()
+	 * @generated
+	 */
+	int DISCRETE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Parameter</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISCRETE__BASE_PARAMETER = RATE__BASE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISCRETE__BASE_ACTIVITY_EDGE = RATE__BASE_ACTIVITY_EDGE;
+
+	/**
+	 * The feature id for the '<em><b>Rate</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISCRETE__RATE = RATE__RATE;
+
+	/**
+	 * The number of structural features of the '<em>Discrete</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISCRETE_FEATURE_COUNT = RATE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Discrete</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISCRETE_OPERATION_COUNT = RATE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.ControlOperatorImpl <em>Control Operator</em>}' class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ControlOperatorImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getControlOperator()
+	 * @generated
+	 */
+	int CONTROL_OPERATOR = 5;
+
+	/**
+	 * The feature id for the '<em><b>Base Operation</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_OPERATOR__BASE_OPERATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Behavior</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_OPERATOR__BASE_BEHAVIOR = 1;
+
+	/**
+	 * The number of structural features of the '<em>Control Operator</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_OPERATOR_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Control Operator</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_OPERATOR_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.NoBufferImpl <em>No Buffer</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.NoBufferImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getNoBuffer()
+	 * @generated
+	 */
+	int NO_BUFFER = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Object Node</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NO_BUFFER__BASE_OBJECT_NODE = 0;
+
+	/**
+	 * The number of structural features of the '<em>No Buffer</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NO_BUFFER_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>No Buffer</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NO_BUFFER_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.activities.internal.impl.OverwriteImpl <em>Overwrite</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.OverwriteImpl
+	 * @see org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl#getOverwrite()
+	 * @generated
+	 */
+	int OVERWRITE = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Object Node</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int OVERWRITE__BASE_OBJECT_NODE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Overwrite</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int OVERWRITE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Overwrite</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int OVERWRITE_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ActivitiesFactory getActivitiesFactory();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.activities.Continuous <em>Continuous</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Continuous</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Continuous
+	 * @generated
+	 */
+	EClass getContinuous();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.activities.ControlOperator
+	 * <em>Control Operator</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for class '<em>Control Operator</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.ControlOperator
+	 * @generated
+	 */
+	EClass getControlOperator();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Behavior</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Behavior()
+	 * @see #getControlOperator()
+	 * @generated
+	 */
+	EReference getControlOperator_Base_Behavior();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Operation
+	 * <em>Base Operation</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Operation</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Operation()
+	 * @see #getControlOperator()
+	 * @generated
+	 */
+	EReference getControlOperator_Base_Operation();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.activities.Discrete <em>Discrete</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Discrete</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Discrete
+	 * @generated
+	 */
+	EClass getDiscrete();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.activities.NoBuffer <em>No Buffer</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>No Buffer</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.NoBuffer
+	 * @generated
+	 */
+	EClass getNoBuffer();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.activities.NoBuffer#getBase_ObjectNode
+	 * <em>Base Object Node</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Object Node</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.NoBuffer#getBase_ObjectNode()
+	 * @see #getNoBuffer()
+	 * @generated
+	 */
+	EReference getNoBuffer_Base_ObjectNode();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.activities.Optional <em>Optional</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Optional</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Optional
+	 * @generated
+	 */
+	EClass getOptional();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.activities.Optional#getBase_Parameter <em>Base Parameter</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Parameter</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Optional#getBase_Parameter()
+	 * @see #getOptional()
+	 * @generated
+	 */
+	EReference getOptional_Base_Parameter();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.activities.Overwrite <em>Overwrite</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Overwrite</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Overwrite
+	 * @generated
+	 */
+	EClass getOverwrite();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.activities.Overwrite#getBase_ObjectNode
+	 * <em>Base Object Node</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Object Node</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Overwrite#getBase_ObjectNode()
+	 * @see #getOverwrite()
+	 * @generated
+	 */
+	EReference getOverwrite_Base_ObjectNode();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.activities.Probability <em>Probability</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Probability</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Probability
+	 * @generated
+	 */
+	EClass getProbability();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.activities.Probability#getBase_ActivityEdge
+	 * <em>Base Activity Edge</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Activity Edge</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Probability#getBase_ActivityEdge()
+	 * @see #getProbability()
+	 * @generated
+	 */
+	EReference getProbability_Base_ActivityEdge();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.activities.Probability#getBase_ParameterSet
+	 * <em>Base Parameter Set</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Parameter Set</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Probability#getBase_ParameterSet()
+	 * @see #getProbability()
+	 * @generated
+	 */
+	EReference getProbability_Base_ParameterSet();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.activities.Probability#getProbability <em>Probability</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Probability</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Probability#getProbability()
+	 * @see #getProbability()
+	 * @generated
+	 */
+	EReference getProbability_Probability();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.activities.Rate <em>Rate</em>}'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Rate</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Rate
+	 * @generated
+	 */
+	EClass getRate();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.activities.Rate#getBase_ActivityEdge
+	 * <em>Base Activity Edge</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Activity Edge</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Rate#getBase_ActivityEdge()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Base_ActivityEdge();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.activities.Rate#getBase_Parameter <em>Base Parameter</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Parameter</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Rate#getBase_Parameter()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Base_Parameter();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.activities.Rate#getRate <em>Rate</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Rate</em>'.
+	 * @see org.eclipse.papyrus.sysml.activities.Rate#getRate()
+	 * @see #getRate()
+	 * @generated
+	 */
+	EReference getRate_Rate();
+
+} // ActivitiesPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Continuous.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Continuous.java
new file mode 100644
index 0000000..146f079
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Continuous.java
@@ -0,0 +1,25 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Continuous</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getContinuous()
+ * @model
+ * @generated
+ */
+public interface Continuous extends Rate {
+} // Continuous
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ControlOperator.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ControlOperator.java
new file mode 100644
index 0000000..b845a5c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/ControlOperator.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Control Operator</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getControlOperator()
+ * @model
+ * @generated
+ */
+public interface ControlOperator extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Behavior</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Behavior</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Behavior</em>' reference.
+	 * @see #setBase_Behavior(Behavior)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getControlOperator_Base_Behavior()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Behavior getBase_Behavior();
+
+	/**
+	 * Returns the value of the '<em><b>Base Operation</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Operation</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Operation</em>' reference.
+	 * @see #setBase_Operation(Operation)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getControlOperator_Base_Operation()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Operation getBase_Operation();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Behavior</em>' reference.
+	 * @see #getBase_Behavior()
+	 * @generated
+	 */
+	void setBase_Behavior(Behavior value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.ControlOperator#getBase_Operation <em>Base Operation</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Operation</em>' reference.
+	 * @see #getBase_Operation()
+	 * @generated
+	 */
+	void setBase_Operation(Operation value);
+
+} // ControlOperator
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Discrete.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Discrete.java
new file mode 100644
index 0000000..46831e2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Discrete.java
@@ -0,0 +1,25 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Discrete</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getDiscrete()
+ * @model
+ * @generated
+ */
+public interface Discrete extends Rate {
+} // Discrete
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/NoBuffer.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/NoBuffer.java
new file mode 100644
index 0000000..5f670d0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/NoBuffer.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>No Buffer</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.NoBuffer#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getNoBuffer()
+ * @model
+ * @generated
+ */
+public interface NoBuffer extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Object Node</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Object Node</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Object Node</em>' reference.
+	 * @see #setBase_ObjectNode(ObjectNode)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getNoBuffer_Base_ObjectNode()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ObjectNode getBase_ObjectNode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.NoBuffer#getBase_ObjectNode <em>Base Object Node</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Object Node</em>' reference.
+	 * @see #getBase_ObjectNode()
+	 * @generated
+	 */
+	void setBase_ObjectNode(ObjectNode value);
+
+} // NoBuffer
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Optional.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Optional.java
new file mode 100644
index 0000000..bd215d4
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Optional.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Optional</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Optional#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getOptional()
+ * @model
+ * @generated
+ */
+public interface Optional extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Parameter</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Parameter</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Parameter</em>' reference.
+	 * @see #setBase_Parameter(Parameter)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getOptional_Base_Parameter()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Parameter getBase_Parameter();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Optional#getBase_Parameter <em>Base Parameter</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Parameter</em>' reference.
+	 * @see #getBase_Parameter()
+	 * @generated
+	 */
+	void setBase_Parameter(Parameter value);
+
+} // Optional
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Overwrite.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Overwrite.java
new file mode 100644
index 0000000..7e722e0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Overwrite.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Overwrite</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Overwrite#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getOverwrite()
+ * @model
+ * @generated
+ */
+public interface Overwrite extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Object Node</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Object Node</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Object Node</em>' reference.
+	 * @see #setBase_ObjectNode(ObjectNode)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getOverwrite_Base_ObjectNode()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ObjectNode getBase_ObjectNode();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Overwrite#getBase_ObjectNode <em>Base Object Node</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Object Node</em>' reference.
+	 * @see #getBase_ObjectNode()
+	 * @generated
+	 */
+	void setBase_ObjectNode(ObjectNode value);
+
+} // Overwrite
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Probability.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Probability.java
new file mode 100644
index 0000000..9885867
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Probability.java
@@ -0,0 +1,123 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Probability</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Probability#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Probability#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Probability#getProbability <em>Probability</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getProbability()
+ * @model
+ * @generated
+ */
+public interface Probability extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Activity Edge</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Activity Edge</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Activity Edge</em>' reference.
+	 * @see #setBase_ActivityEdge(ActivityEdge)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getProbability_Base_ActivityEdge()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ActivityEdge getBase_ActivityEdge();
+
+	/**
+	 * Returns the value of the '<em><b>Base Parameter Set</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Parameter Set</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Parameter Set</em>' reference.
+	 * @see #setBase_ParameterSet(ParameterSet)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getProbability_Base_ParameterSet()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ParameterSet getBase_ParameterSet();
+
+	/**
+	 * Returns the value of the '<em><b>Probability</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Probability</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Probability</em>' reference.
+	 * @see #setProbability(ValueSpecification)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getProbability_Probability()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	ValueSpecification getProbability();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Probability#getBase_ActivityEdge <em>Base Activity Edge</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Activity Edge</em>' reference.
+	 * @see #getBase_ActivityEdge()
+	 * @generated
+	 */
+	void setBase_ActivityEdge(ActivityEdge value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Probability#getBase_ParameterSet <em>Base Parameter Set</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Parameter Set</em>' reference.
+	 * @see #getBase_ParameterSet()
+	 * @generated
+	 */
+	void setBase_ParameterSet(ParameterSet value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Probability#getProbability <em>Probability</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Probability</em>' reference.
+	 * @see #getProbability()
+	 * @generated
+	 */
+	void setProbability(ValueSpecification value);
+
+} // Probability
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Rate.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Rate.java
new file mode 100644
index 0000000..eb021c5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/Rate.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Rate</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Rate#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Rate#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.Rate#getRate <em>Rate</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getRate()
+ * @model
+ * @generated
+ */
+public interface Rate extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Activity Edge</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Activity Edge</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Activity Edge</em>' reference.
+	 * @see #setBase_ActivityEdge(ActivityEdge)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getRate_Base_ActivityEdge()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ActivityEdge getBase_ActivityEdge();
+
+	/**
+	 * Returns the value of the '<em><b>Base Parameter</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Parameter</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Parameter</em>' reference.
+	 * @see #setBase_Parameter(Parameter)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getRate_Base_Parameter()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Parameter getBase_Parameter();
+
+	/**
+	 * Returns the value of the '<em><b>Rate</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Rate</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Rate</em>' reference.
+	 * @see #setRate(InstanceSpecification)
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#getRate_Rate()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getRate();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Rate#getBase_ActivityEdge <em>Base Activity Edge</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Activity Edge</em>' reference.
+	 * @see #getBase_ActivityEdge()
+	 * @generated
+	 */
+	void setBase_ActivityEdge(ActivityEdge value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Rate#getBase_Parameter <em>Base Parameter</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Parameter</em>' reference.
+	 * @see #getBase_Parameter()
+	 * @generated
+	 */
+	void setBase_Parameter(Parameter value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.activities.Rate#getRate <em>Rate</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Rate</em>' reference.
+	 * @see #getRate()
+	 * @generated
+	 */
+	void setRate(InstanceSpecification value);
+
+} // Rate
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ActivitiesFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ActivitiesFactoryImpl.java
new file mode 100644
index 0000000..ffd85f5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ActivitiesFactoryImpl.java
@@ -0,0 +1,199 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.activities.ActivitiesFactory;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Continuous;
+import org.eclipse.papyrus.sysml.activities.ControlOperator;
+import org.eclipse.papyrus.sysml.activities.Discrete;
+import org.eclipse.papyrus.sysml.activities.NoBuffer;
+import org.eclipse.papyrus.sysml.activities.Optional;
+import org.eclipse.papyrus.sysml.activities.Overwrite;
+import org.eclipse.papyrus.sysml.activities.Probability;
+import org.eclipse.papyrus.sysml.activities.Rate;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivitiesFactoryImpl extends EFactoryImpl implements ActivitiesFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ActivitiesPackage getPackage() {
+		return ActivitiesPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static ActivitiesFactory init() {
+		try {
+			ActivitiesFactory theActivitiesFactory = (ActivitiesFactory) EPackage.Registry.INSTANCE.getEFactory(ActivitiesPackage.eNS_URI);
+			if (theActivitiesFactory != null) {
+				return theActivitiesFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ActivitiesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case ActivitiesPackage.OPTIONAL:
+			return createOptional();
+		case ActivitiesPackage.RATE:
+			return createRate();
+		case ActivitiesPackage.PROBABILITY:
+			return createProbability();
+		case ActivitiesPackage.CONTINUOUS:
+			return createContinuous();
+		case ActivitiesPackage.DISCRETE:
+			return createDiscrete();
+		case ActivitiesPackage.CONTROL_OPERATOR:
+			return createControlOperator();
+		case ActivitiesPackage.NO_BUFFER:
+			return createNoBuffer();
+		case ActivitiesPackage.OVERWRITE:
+			return createOverwrite();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Optional createOptional() {
+		OptionalImpl optional = new OptionalImpl();
+		return optional;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Continuous createContinuous() {
+		ContinuousImpl continuous = new ContinuousImpl();
+		return continuous;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ControlOperator createControlOperator() {
+		ControlOperatorImpl controlOperator = new ControlOperatorImpl();
+		return controlOperator;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Discrete createDiscrete() {
+		DiscreteImpl discrete = new DiscreteImpl();
+		return discrete;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NoBuffer createNoBuffer() {
+		NoBufferImpl noBuffer = new NoBufferImpl();
+		return noBuffer;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Overwrite createOverwrite() {
+		OverwriteImpl overwrite = new OverwriteImpl();
+		return overwrite;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Probability createProbability() {
+		ProbabilityImpl probability = new ProbabilityImpl();
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Rate createRate() {
+		RateImpl rate = new RateImpl();
+		return rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesPackage getActivitiesPackage() {
+		return (ActivitiesPackage) getEPackage();
+	}
+
+} // ActivitiesFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ActivitiesPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ActivitiesPackageImpl.java
new file mode 100644
index 0000000..4b4640e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ActivitiesPackageImpl.java
@@ -0,0 +1,523 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesFactory;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Continuous;
+import org.eclipse.papyrus.sysml.activities.ControlOperator;
+import org.eclipse.papyrus.sysml.activities.Discrete;
+import org.eclipse.papyrus.sysml.activities.NoBuffer;
+import org.eclipse.papyrus.sysml.activities.Optional;
+import org.eclipse.papyrus.sysml.activities.Overwrite;
+import org.eclipse.papyrus.sysml.activities.Probability;
+import org.eclipse.papyrus.sysml.activities.Rate;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivitiesPackageImpl extends EPackageImpl implements ActivitiesPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass optionalEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link ActivitiesPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ActivitiesPackage init() {
+		if (isInited) {
+			return (ActivitiesPackage) EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ActivitiesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theActivitiesPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theActivitiesPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theActivitiesPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ActivitiesPackage.eNS_URI, theActivitiesPackage);
+		return theActivitiesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getOptional() {
+		return optionalEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getOptional_Base_Parameter() {
+		return (EReference) optionalEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass rateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass probabilityEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass continuousEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass discreteEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass controlOperatorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass noBufferEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass overwriteEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ActivitiesPackageImpl() {
+		super(eNS_URI, ActivitiesFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		optionalEClass = createEClass(OPTIONAL);
+		createEReference(optionalEClass, OPTIONAL__BASE_PARAMETER);
+
+		rateEClass = createEClass(RATE);
+		createEReference(rateEClass, RATE__BASE_PARAMETER);
+		createEReference(rateEClass, RATE__BASE_ACTIVITY_EDGE);
+		createEReference(rateEClass, RATE__RATE);
+
+		probabilityEClass = createEClass(PROBABILITY);
+		createEReference(probabilityEClass, PROBABILITY__BASE_ACTIVITY_EDGE);
+		createEReference(probabilityEClass, PROBABILITY__BASE_PARAMETER_SET);
+		createEReference(probabilityEClass, PROBABILITY__PROBABILITY);
+
+		continuousEClass = createEClass(CONTINUOUS);
+
+		discreteEClass = createEClass(DISCRETE);
+
+		controlOperatorEClass = createEClass(CONTROL_OPERATOR);
+		createEReference(controlOperatorEClass, CONTROL_OPERATOR__BASE_OPERATION);
+		createEReference(controlOperatorEClass, CONTROL_OPERATOR__BASE_BEHAVIOR);
+
+		noBufferEClass = createEClass(NO_BUFFER);
+		createEReference(noBufferEClass, NO_BUFFER__BASE_OBJECT_NODE);
+
+		overwriteEClass = createEClass(OVERWRITE);
+		createEReference(overwriteEClass, OVERWRITE__BASE_OBJECT_NODE);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesFactory getActivitiesFactory() {
+		return (ActivitiesFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getContinuous() {
+		return continuousEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getControlOperator() {
+		return controlOperatorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getControlOperator_Base_Behavior() {
+		return (EReference) controlOperatorEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getControlOperator_Base_Operation() {
+		return (EReference) controlOperatorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getDiscrete() {
+		return discreteEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getNoBuffer() {
+		return noBufferEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getNoBuffer_Base_ObjectNode() {
+		return (EReference) noBufferEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getOverwrite() {
+		return overwriteEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getOverwrite_Base_ObjectNode() {
+		return (EReference) overwriteEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getProbability() {
+		return probabilityEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getProbability_Base_ActivityEdge() {
+		return (EReference) probabilityEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getProbability_Base_ParameterSet() {
+		return (EReference) probabilityEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getProbability_Probability() {
+		return (EReference) probabilityEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getRate() {
+		return rateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRate_Base_ActivityEdge() {
+		return (EReference) rateEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRate_Base_Parameter() {
+		return (EReference) rateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRate_Rate() {
+		return (EReference) rateEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		continuousEClass.getESuperTypes().add(this.getRate());
+		discreteEClass.getESuperTypes().add(this.getRate());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(optionalEClass, Optional.class, "Optional", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getOptional_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 1, 1, Optional.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(rateEClass, Rate.class, "Rate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRate_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 1, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getRate_Base_ActivityEdge(), theUMLPackage.getActivityEdge(), null, "base_ActivityEdge", null, 1, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRate_Rate(), theUMLPackage.getInstanceSpecification(), null, "rate", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(probabilityEClass, Probability.class, "Probability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getProbability_Base_ActivityEdge(), theUMLPackage.getActivityEdge(), null, "base_ActivityEdge", null, 1, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getProbability_Base_ParameterSet(), theUMLPackage.getParameterSet(), null, "base_ParameterSet", null, 1, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getProbability_Probability(), theUMLPackage.getValueSpecification(), null, "probability", null, 0, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(continuousEClass, Continuous.class, "Continuous", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(discreteEClass, Discrete.class, "Discrete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(controlOperatorEClass, ControlOperator.class, "ControlOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getControlOperator_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 1, 1, ControlOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getControlOperator_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 1, 1, ControlOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(noBufferEClass, NoBuffer.class, "NoBuffer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getNoBuffer_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 1, 1, NoBuffer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(overwriteEClass, Overwrite.class, "Overwrite", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getOverwrite_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 1, 1, Overwrite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+	}
+
+} // ActivitiesPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ContinuousImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ContinuousImpl.java
new file mode 100644
index 0000000..0471765
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ContinuousImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Continuous;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Continuous</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ContinuousImpl extends RateImpl implements Continuous {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ContinuousImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.CONTINUOUS;
+	}
+
+} // ContinuousImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ControlOperatorImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ControlOperatorImpl.java
new file mode 100644
index 0000000..1a4011e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ControlOperatorImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.ControlOperator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Control Operator</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.ControlOperatorImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.ControlOperatorImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ControlOperatorImpl extends MinimalEObjectImpl.Container implements ControlOperator {
+
+	/**
+	 * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Operation()
+	 * @generated
+	 * @ordered
+	 */
+	protected Operation base_Operation;
+
+	/**
+	 * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Behavior()
+	 * @generated
+	 * @ordered
+	 */
+	protected Behavior base_Behavior;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ControlOperatorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Behavior basicGetBase_Behavior() {
+		return base_Behavior;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Operation basicGetBase_Operation() {
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+			if (resolve) {
+				return getBase_Operation();
+			}
+			return basicGetBase_Operation();
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+			if (resolve) {
+				return getBase_Behavior();
+			}
+			return basicGetBase_Behavior();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+			return base_Operation != null;
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+			return base_Behavior != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+			setBase_Operation((Operation) newValue);
+			return;
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+			setBase_Behavior((Behavior) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.CONTROL_OPERATOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+			setBase_Operation((Operation) null);
+			return;
+		case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+			setBase_Behavior((Behavior) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Behavior getBase_Behavior() {
+		if (base_Behavior != null && base_Behavior.eIsProxy()) {
+			InternalEObject oldBase_Behavior = (InternalEObject) base_Behavior;
+			base_Behavior = (Behavior) eResolveProxy(oldBase_Behavior);
+			if (base_Behavior != oldBase_Behavior) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+				}
+			}
+		}
+		return base_Behavior;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Operation getBase_Operation() {
+		if (base_Operation != null && base_Operation.eIsProxy()) {
+			InternalEObject oldBase_Operation = (InternalEObject) base_Operation;
+			base_Operation = (Operation) eResolveProxy(oldBase_Operation);
+			if (base_Operation != oldBase_Operation) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION, oldBase_Operation, base_Operation));
+				}
+			}
+		}
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Behavior(Behavior newBase_Behavior) {
+		Behavior oldBase_Behavior = base_Behavior;
+		base_Behavior = newBase_Behavior;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Operation(Operation newBase_Operation) {
+		Operation oldBase_Operation = base_Operation;
+		base_Operation = newBase_Operation;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION, oldBase_Operation, base_Operation));
+		}
+	}
+
+} // ControlOperatorImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/DiscreteImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/DiscreteImpl.java
new file mode 100644
index 0000000..7294f9a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/DiscreteImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Discrete;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Discrete</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DiscreteImpl extends RateImpl implements Discrete {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DiscreteImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.DISCRETE;
+	}
+
+} // DiscreteImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/NoBufferImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/NoBufferImpl.java
new file mode 100644
index 0000000..ccdd589
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/NoBufferImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.NoBuffer;
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>No Buffer</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.NoBufferImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NoBufferImpl extends MinimalEObjectImpl.Container implements NoBuffer {
+
+	/**
+	 * The cached value of the '{@link #getBase_ObjectNode() <em>Base Object Node</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_ObjectNode()
+	 * @generated
+	 * @ordered
+	 */
+	protected ObjectNode base_ObjectNode;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected NoBufferImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ObjectNode basicGetBase_ObjectNode() {
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+			if (resolve) {
+				return getBase_ObjectNode();
+			}
+			return basicGetBase_ObjectNode();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+			return base_ObjectNode != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+			setBase_ObjectNode((ObjectNode) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.NO_BUFFER;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+			setBase_ObjectNode((ObjectNode) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ObjectNode getBase_ObjectNode() {
+		if (base_ObjectNode != null && base_ObjectNode.eIsProxy()) {
+			InternalEObject oldBase_ObjectNode = (InternalEObject) base_ObjectNode;
+			base_ObjectNode = (ObjectNode) eResolveProxy(oldBase_ObjectNode);
+			if (base_ObjectNode != oldBase_ObjectNode) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+				}
+			}
+		}
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ObjectNode(ObjectNode newBase_ObjectNode) {
+		ObjectNode oldBase_ObjectNode = base_ObjectNode;
+		base_ObjectNode = newBase_ObjectNode;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+		}
+	}
+
+} // NoBufferImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/OptionalImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/OptionalImpl.java
new file mode 100644
index 0000000..f7205cd
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/OptionalImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Optional;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Optional</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.OptionalImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OptionalImpl extends MinimalEObjectImpl.Container implements Optional {
+
+	/**
+	 * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Parameter()
+	 * @generated
+	 * @ordered
+	 */
+	protected Parameter base_Parameter;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected OptionalImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.OPTIONAL;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Parameter getBase_Parameter() {
+		if (base_Parameter != null && base_Parameter.eIsProxy()) {
+			InternalEObject oldBase_Parameter = (InternalEObject) base_Parameter;
+			base_Parameter = (Parameter) eResolveProxy(oldBase_Parameter);
+			if (base_Parameter != oldBase_Parameter) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.OPTIONAL__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+				}
+			}
+		}
+		return base_Parameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Parameter basicGetBase_Parameter() {
+		return base_Parameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Parameter(Parameter newBase_Parameter) {
+		Parameter oldBase_Parameter = base_Parameter;
+		base_Parameter = newBase_Parameter;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.OPTIONAL__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+			if (resolve) {
+				return getBase_Parameter();
+			}
+			return basicGetBase_Parameter();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+			setBase_Parameter((Parameter) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+			setBase_Parameter((Parameter) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+			return base_Parameter != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // OptionalImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/OverwriteImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/OverwriteImpl.java
new file mode 100644
index 0000000..1715a6c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/OverwriteImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Overwrite;
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Overwrite</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.OverwriteImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OverwriteImpl extends MinimalEObjectImpl.Container implements Overwrite {
+
+	/**
+	 * The cached value of the '{@link #getBase_ObjectNode() <em>Base Object Node</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_ObjectNode()
+	 * @generated
+	 * @ordered
+	 */
+	protected ObjectNode base_ObjectNode;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected OverwriteImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ObjectNode basicGetBase_ObjectNode() {
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+			if (resolve) {
+				return getBase_ObjectNode();
+			}
+			return basicGetBase_ObjectNode();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+			return base_ObjectNode != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+			setBase_ObjectNode((ObjectNode) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.OVERWRITE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+			setBase_ObjectNode((ObjectNode) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ObjectNode getBase_ObjectNode() {
+		if (base_ObjectNode != null && base_ObjectNode.eIsProxy()) {
+			InternalEObject oldBase_ObjectNode = (InternalEObject) base_ObjectNode;
+			base_ObjectNode = (ObjectNode) eResolveProxy(oldBase_ObjectNode);
+			if (base_ObjectNode != oldBase_ObjectNode) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+				}
+			}
+		}
+		return base_ObjectNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ObjectNode(ObjectNode newBase_ObjectNode) {
+		ObjectNode oldBase_ObjectNode = base_ObjectNode;
+		base_ObjectNode = newBase_ObjectNode;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+		}
+	}
+
+} // OverwriteImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ProbabilityImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ProbabilityImpl.java
new file mode 100644
index 0000000..b560b07
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/ProbabilityImpl.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Probability;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Probability</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.ProbabilityImpl#getProbability <em>Probability</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProbabilityImpl extends MinimalEObjectImpl.Container implements Probability {
+
+	/**
+	 * The cached value of the '{@link #getBase_ActivityEdge() <em>Base Activity Edge</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_ActivityEdge()
+	 * @generated
+	 * @ordered
+	 */
+	protected ActivityEdge base_ActivityEdge;
+
+	/**
+	 * The cached value of the '{@link #getBase_ParameterSet() <em>Base Parameter Set</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_ParameterSet()
+	 * @generated
+	 * @ordered
+	 */
+	protected ParameterSet base_ParameterSet;
+
+	/**
+	 * The cached value of the '{@link #getProbability() <em>Probability</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getProbability()
+	 * @generated
+	 * @ordered
+	 */
+	protected ValueSpecification probability;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ProbabilityImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivityEdge basicGetBase_ActivityEdge() {
+		return base_ActivityEdge;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ParameterSet basicGetBase_ParameterSet() {
+		return base_ParameterSet;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ValueSpecification basicGetProbability() {
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+			if (resolve) {
+				return getBase_ActivityEdge();
+			}
+			return basicGetBase_ActivityEdge();
+		case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+			if (resolve) {
+				return getBase_ParameterSet();
+			}
+			return basicGetBase_ParameterSet();
+		case ActivitiesPackage.PROBABILITY__PROBABILITY:
+			if (resolve) {
+				return getProbability();
+			}
+			return basicGetProbability();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+			return base_ActivityEdge != null;
+		case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+			return base_ParameterSet != null;
+		case ActivitiesPackage.PROBABILITY__PROBABILITY:
+			return probability != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+			setBase_ActivityEdge((ActivityEdge) newValue);
+			return;
+		case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+			setBase_ParameterSet((ParameterSet) newValue);
+			return;
+		case ActivitiesPackage.PROBABILITY__PROBABILITY:
+			setProbability((ValueSpecification) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.PROBABILITY;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+			setBase_ActivityEdge((ActivityEdge) null);
+			return;
+		case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+			setBase_ParameterSet((ParameterSet) null);
+			return;
+		case ActivitiesPackage.PROBABILITY__PROBABILITY:
+			setProbability((ValueSpecification) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivityEdge getBase_ActivityEdge() {
+		if (base_ActivityEdge != null && base_ActivityEdge.eIsProxy()) {
+			InternalEObject oldBase_ActivityEdge = (InternalEObject) base_ActivityEdge;
+			base_ActivityEdge = (ActivityEdge) eResolveProxy(oldBase_ActivityEdge);
+			if (base_ActivityEdge != oldBase_ActivityEdge) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+				}
+			}
+		}
+		return base_ActivityEdge;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ParameterSet getBase_ParameterSet() {
+		if (base_ParameterSet != null && base_ParameterSet.eIsProxy()) {
+			InternalEObject oldBase_ParameterSet = (InternalEObject) base_ParameterSet;
+			base_ParameterSet = (ParameterSet) eResolveProxy(oldBase_ParameterSet);
+			if (base_ParameterSet != oldBase_ParameterSet) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+				}
+			}
+		}
+		return base_ParameterSet;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ValueSpecification getProbability() {
+		if (probability != null && probability.eIsProxy()) {
+			InternalEObject oldProbability = (InternalEObject) probability;
+			probability = (ValueSpecification) eResolveProxy(oldProbability);
+			if (probability != oldProbability) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.PROBABILITY__PROBABILITY, oldProbability, probability));
+				}
+			}
+		}
+		return probability;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ActivityEdge(ActivityEdge newBase_ActivityEdge) {
+		ActivityEdge oldBase_ActivityEdge = base_ActivityEdge;
+		base_ActivityEdge = newBase_ActivityEdge;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ParameterSet(ParameterSet newBase_ParameterSet) {
+		ParameterSet oldBase_ParameterSet = base_ParameterSet;
+		base_ParameterSet = newBase_ParameterSet;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setProbability(ValueSpecification newProbability) {
+		ValueSpecification oldProbability = probability;
+		probability = newProbability;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__PROBABILITY, oldProbability, probability));
+		}
+	}
+
+} // ProbabilityImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/RateImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/RateImpl.java
new file mode 100644
index 0000000..e50ad6e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/internal/impl/RateImpl.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Rate;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Rate</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.activities.internal.impl.RateImpl#getRate <em>Rate</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RateImpl extends MinimalEObjectImpl.Container implements Rate {
+
+	/**
+	 * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Parameter()
+	 * @generated
+	 * @ordered
+	 */
+	protected Parameter base_Parameter;
+
+	/**
+	 * The cached value of the '{@link #getBase_ActivityEdge() <em>Base Activity Edge</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_ActivityEdge()
+	 * @generated
+	 * @ordered
+	 */
+	protected ActivityEdge base_ActivityEdge;
+
+	/**
+	 * The cached value of the '{@link #getRate() <em>Rate</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getRate()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification rate;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected RateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivityEdge basicGetBase_ActivityEdge() {
+		return base_ActivityEdge;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Parameter basicGetBase_Parameter() {
+		return base_Parameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InstanceSpecification basicGetRate() {
+		return rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ActivitiesPackage.RATE__BASE_PARAMETER:
+			if (resolve) {
+				return getBase_Parameter();
+			}
+			return basicGetBase_Parameter();
+		case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+			if (resolve) {
+				return getBase_ActivityEdge();
+			}
+			return basicGetBase_ActivityEdge();
+		case ActivitiesPackage.RATE__RATE:
+			if (resolve) {
+				return getRate();
+			}
+			return basicGetRate();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.RATE__BASE_PARAMETER:
+			return base_Parameter != null;
+		case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+			return base_ActivityEdge != null;
+		case ActivitiesPackage.RATE__RATE:
+			return rate != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ActivitiesPackage.RATE__BASE_PARAMETER:
+			setBase_Parameter((Parameter) newValue);
+			return;
+		case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+			setBase_ActivityEdge((ActivityEdge) newValue);
+			return;
+		case ActivitiesPackage.RATE__RATE:
+			setRate((InstanceSpecification) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ActivitiesPackage.Literals.RATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ActivitiesPackage.RATE__BASE_PARAMETER:
+			setBase_Parameter((Parameter) null);
+			return;
+		case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+			setBase_ActivityEdge((ActivityEdge) null);
+			return;
+		case ActivitiesPackage.RATE__RATE:
+			setRate((InstanceSpecification) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivityEdge getBase_ActivityEdge() {
+		if (base_ActivityEdge != null && base_ActivityEdge.eIsProxy()) {
+			InternalEObject oldBase_ActivityEdge = (InternalEObject) base_ActivityEdge;
+			base_ActivityEdge = (ActivityEdge) eResolveProxy(oldBase_ActivityEdge);
+			if (base_ActivityEdge != oldBase_ActivityEdge) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+				}
+			}
+		}
+		return base_ActivityEdge;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Parameter getBase_Parameter() {
+		if (base_Parameter != null && base_Parameter.eIsProxy()) {
+			InternalEObject oldBase_Parameter = (InternalEObject) base_Parameter;
+			base_Parameter = (Parameter) eResolveProxy(oldBase_Parameter);
+			if (base_Parameter != oldBase_Parameter) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+				}
+			}
+		}
+		return base_Parameter;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InstanceSpecification getRate() {
+		if (rate != null && rate.eIsProxy()) {
+			InternalEObject oldRate = (InternalEObject) rate;
+			rate = (InstanceSpecification) eResolveProxy(oldRate);
+			if (rate != oldRate) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__RATE, oldRate, rate));
+				}
+			}
+		}
+		return rate;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ActivityEdge(ActivityEdge newBase_ActivityEdge) {
+		ActivityEdge oldBase_ActivityEdge = base_ActivityEdge;
+		base_ActivityEdge = newBase_ActivityEdge;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Parameter(Parameter newBase_Parameter) {
+		Parameter oldBase_Parameter = base_Parameter;
+		base_Parameter = newBase_Parameter;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setRate(InstanceSpecification newRate) {
+		InstanceSpecification oldRate = rate;
+		rate = newRate;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__RATE, oldRate, rate));
+		}
+	}
+
+} // RateImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesAdapterFactory.java
new file mode 100644
index 0000000..ffbe991
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesAdapterFactory.java
@@ -0,0 +1,279 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Continuous;
+import org.eclipse.papyrus.sysml.activities.ControlOperator;
+import org.eclipse.papyrus.sysml.activities.Discrete;
+import org.eclipse.papyrus.sysml.activities.NoBuffer;
+import org.eclipse.papyrus.sysml.activities.Optional;
+import org.eclipse.papyrus.sysml.activities.Overwrite;
+import org.eclipse.papyrus.sysml.activities.Probability;
+import org.eclipse.papyrus.sysml.activities.Rate;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage
+ * @generated
+ */
+public class ActivitiesAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static ActivitiesPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ActivitiesSwitch<Adapter> modelSwitch = new ActivitiesSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseOptional(Optional object) {
+			return createOptionalAdapter();
+		}
+
+		@Override
+		public Adapter caseRate(Rate object) {
+			return createRateAdapter();
+		}
+
+		@Override
+		public Adapter caseProbability(Probability object) {
+			return createProbabilityAdapter();
+		}
+
+		@Override
+		public Adapter caseContinuous(Continuous object) {
+			return createContinuousAdapter();
+		}
+
+		@Override
+		public Adapter caseDiscrete(Discrete object) {
+			return createDiscreteAdapter();
+		}
+
+		@Override
+		public Adapter caseControlOperator(ControlOperator object) {
+			return createControlOperatorAdapter();
+		}
+
+		@Override
+		public Adapter caseNoBuffer(NoBuffer object) {
+			return createNoBufferAdapter();
+		}
+
+		@Override
+		public Adapter caseOverwrite(Overwrite object) {
+			return createOverwriteAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ActivitiesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.Optional <em>Optional</em>}'.
+	 * <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.Optional
+	 * @generated
+	 */
+	public Adapter createOptionalAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.Continuous <em>Continuous</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.Continuous
+	 * @generated
+	 */
+	public Adapter createContinuousAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.ControlOperator <em>Control Operator</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.ControlOperator
+	 * @generated
+	 */
+	public Adapter createControlOperatorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.Discrete <em>Discrete</em>}'.
+	 * <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.Discrete
+	 * @generated
+	 */
+	public Adapter createDiscreteAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.NoBuffer <em>No Buffer</em>}'.
+	 * <!-- begin-user-doc
+	 * --> This default implementation returns null so
+	 * that we can easily ignore cases; it's useful to ignore a case when
+	 * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.NoBuffer
+	 * @generated
+	 */
+	public Adapter createNoBufferAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.Overwrite <em>Overwrite</em>}'.
+	 * <!-- begin-user-doc
+	 * --> This default implementation returns null so
+	 * that we can easily ignore cases; it's useful to ignore a case when
+	 * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.Overwrite
+	 * @generated
+	 */
+	public Adapter createOverwriteAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.activities.Probability <em>Probability</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.Probability
+	 * @generated
+	 */
+	public Adapter createProbabilityAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.activities.Rate <em>Rate</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.activities.Rate
+	 * @generated
+	 */
+	public Adapter createRateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // ActivitiesAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesResourceFactoryImpl.java
new file mode 100644
index 0000000..d361c4e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.activities.util.ActivitiesResourceImpl
+ * @generated
+ */
+public class ActivitiesResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new ActivitiesResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // ActivitiesResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesResourceImpl.java
new file mode 100644
index 0000000..1e98409
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.activities.util.ActivitiesResourceFactoryImpl
+ * @generated
+ */
+public class ActivitiesResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public ActivitiesResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // ActivitiesResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesSwitch.java
new file mode 100644
index 0000000..dc2e08a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesSwitch.java
@@ -0,0 +1,305 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.Continuous;
+import org.eclipse.papyrus.sysml.activities.ControlOperator;
+import org.eclipse.papyrus.sysml.activities.Discrete;
+import org.eclipse.papyrus.sysml.activities.NoBuffer;
+import org.eclipse.papyrus.sysml.activities.Optional;
+import org.eclipse.papyrus.sysml.activities.Overwrite;
+import org.eclipse.papyrus.sysml.activities.Probability;
+import org.eclipse.papyrus.sysml.activities.Rate;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.activities.ActivitiesPackage
+ * @generated
+ */
+public class ActivitiesSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static ActivitiesPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ActivitiesPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Continuous</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Continuous</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseContinuous(Continuous object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Control Operator</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Control Operator</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseControlOperator(ControlOperator object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Discrete</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Discrete</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDiscrete(Discrete object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>No Buffer</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>No Buffer</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNoBuffer(NoBuffer object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Overwrite</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Overwrite</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOverwrite(Overwrite object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Probability</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Probability</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProbability(Probability object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of ' <em>Rate</em>'. <!-- begin-user-doc --> This implementation returns null;
+	 * returning a non-null result will terminate the switch. <!-- end-user-doc
+	 * -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of ' <em>Rate</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRate(Rate object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case ActivitiesPackage.OPTIONAL: {
+			Optional optional = (Optional) theEObject;
+			T result = caseOptional(optional);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.RATE: {
+			Rate rate = (Rate) theEObject;
+			T result = caseRate(rate);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.PROBABILITY: {
+			Probability probability = (Probability) theEObject;
+			T result = caseProbability(probability);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.CONTINUOUS: {
+			Continuous continuous = (Continuous) theEObject;
+			T result = caseContinuous(continuous);
+			if (result == null) {
+				result = caseRate(continuous);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.DISCRETE: {
+			Discrete discrete = (Discrete) theEObject;
+			T result = caseDiscrete(discrete);
+			if (result == null) {
+				result = caseRate(discrete);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.CONTROL_OPERATOR: {
+			ControlOperator controlOperator = (ControlOperator) theEObject;
+			T result = caseControlOperator(controlOperator);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.NO_BUFFER: {
+			NoBuffer noBuffer = (NoBuffer) theEObject;
+			T result = caseNoBuffer(noBuffer);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ActivitiesPackage.OVERWRITE: {
+			Overwrite overwrite = (Overwrite) theEObject;
+			T result = caseOverwrite(overwrite);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Optional</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Optional</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseOptional(Optional object) {
+		return null;
+	}
+
+} // ActivitiesSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesXMLProcessor.java
new file mode 100644
index 0000000..28f0bc8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/activities/util/ActivitiesXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.activities.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ActivitiesXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivitiesXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		ActivitiesPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the ActivitiesResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new ActivitiesResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new ActivitiesResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // ActivitiesXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/Allocate.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/Allocate.java
new file mode 100644
index 0000000..1c33e9f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/Allocate.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Abstraction;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Allocate</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.Allocate#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocate()
+ * @model
+ * @generated
+ */
+public interface Allocate extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Abstraction</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Abstraction</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Abstraction</em>' reference.
+	 * @see #setBase_Abstraction(Abstraction)
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocate_Base_Abstraction()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Abstraction getBase_Abstraction();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.allocations.Allocate#getBase_Abstraction <em>Base Abstraction</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Abstraction</em>' reference.
+	 * @see #getBase_Abstraction()
+	 * @generated
+	 */
+	void setBase_Abstraction(Abstraction value);
+
+} // Allocate
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocateActivityPartition.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocateActivityPartition.java
new file mode 100644
index 0000000..dde86b9
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocateActivityPartition.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Allocate Activity Partition</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocateActivityPartition()
+ * @model
+ * @generated
+ */
+public interface AllocateActivityPartition extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Activity Partition</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Activity Partition</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Activity Partition</em>' reference.
+	 * @see #setBase_ActivityPartition(ActivityPartition)
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocateActivityPartition_Base_ActivityPartition()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ActivityPartition getBase_ActivityPartition();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition#getBase_ActivityPartition
+	 * <em>Base Activity Partition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Activity Partition</em>' reference.
+	 * @see #getBase_ActivityPartition()
+	 * @generated
+	 */
+	void setBase_ActivityPartition(ActivityPartition value);
+
+} // AllocateActivityPartition
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/Allocated.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/Allocated.java
new file mode 100644
index 0000000..50b6fa5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/Allocated.java
@@ -0,0 +1,161 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Allocated</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.Allocated#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.Allocated#getAllocatedFrom <em>Allocated From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.Allocated#getAllocatedTo <em>Allocated To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocated()
+ * @model
+ * @generated
+ */
+public interface Allocated extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Allocated From</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Allocated From</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Allocated From</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocated_AllocatedFrom()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<NamedElement> getAllocatedFrom();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the ' <em><b>Allocated From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getAllocatedFrom()
+	 * @generated
+	 */
+	NamedElement getAllocatedFrom(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the ' <em><b>Allocated From</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getAllocatedFrom()
+	 * @generated
+	 */
+	NamedElement getAllocatedFrom(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Allocated To</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Allocated To</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Allocated To</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocated_AllocatedTo()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<NamedElement> getAllocatedTo();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Allocated To</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getAllocatedTo()
+	 * @generated
+	 */
+	NamedElement getAllocatedTo(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Allocated To</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getAllocatedTo()
+	 * @generated
+	 */
+	NamedElement getAllocatedTo(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#getAllocated_Base_NamedElement()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.allocations.Allocated#getBase_NamedElement <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // Allocated
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocationsFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocationsFactory.java
new file mode 100644
index 0000000..dd00563
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocationsFactory.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage
+ * @generated
+ */
+public interface AllocationsFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	AllocationsFactory eINSTANCE = org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Allocate</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Allocate</em>'.
+	 * @generated
+	 */
+	Allocate createAllocate();
+
+	/**
+	 * Returns a new object of class '<em>Allocate Activity Partition</em>'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Allocate Activity Partition</em>'.
+	 * @generated
+	 */
+	AllocateActivityPartition createAllocateActivityPartition();
+
+	/**
+	 * Returns a new object of class '<em>Allocated</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Allocated</em>'.
+	 * @generated
+	 */
+	Allocated createAllocated();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	AllocationsPackage getAllocationsPackage();
+
+} // AllocationsFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocationsPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocationsPackage.java
new file mode 100644
index 0000000..076196b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/AllocationsPackage.java
@@ -0,0 +1,397 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface AllocationsPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateImpl
+		 * <em>Allocate</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateImpl
+		 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl#getAllocate()
+		 * @generated
+		 */
+		EClass ALLOCATE = eINSTANCE.getAllocate();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Abstraction</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ALLOCATE__BASE_ABSTRACTION = eINSTANCE.getAllocate_Base_Abstraction();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl
+		 * <em>Allocated</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl
+		 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl#getAllocated()
+		 * @generated
+		 */
+		EClass ALLOCATED = eINSTANCE.getAllocated();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ALLOCATED__BASE_NAMED_ELEMENT = eINSTANCE.getAllocated_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Allocated From</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ALLOCATED__ALLOCATED_FROM = eINSTANCE.getAllocated_AllocatedFrom();
+
+		/**
+		 * The meta object literal for the '<em><b>Allocated To</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ALLOCATED__ALLOCATED_TO = eINSTANCE.getAllocated_AllocatedTo();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateActivityPartitionImpl
+		 * <em>Allocate Activity Partition</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateActivityPartitionImpl
+		 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl#getAllocateActivityPartition()
+		 * @generated
+		 */
+		EClass ALLOCATE_ACTIVITY_PARTITION = eINSTANCE.getAllocateActivityPartition();
+
+		/**
+		 * The meta object literal for the ' <em><b>Base Activity Partition</b></em>' reference feature. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION = eINSTANCE.getAllocateActivityPartition_Base_ActivityPartition();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "allocations";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "Allocations";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	AllocationsPackage eINSTANCE = org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateImpl <em>Allocate</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateImpl
+	 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl#getAllocate()
+	 * @generated
+	 */
+	int ALLOCATE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE__BASE_ABSTRACTION = 0;
+
+	/**
+	 * The number of structural features of the '<em>Allocate</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Allocate</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl <em>Allocated</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl
+	 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl#getAllocated()
+	 * @generated
+	 */
+	int ALLOCATED = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATED__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Allocated From</b></em>' reference list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATED__ALLOCATED_FROM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Allocated To</b></em>' reference list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATED__ALLOCATED_TO = 2;
+
+	/**
+	 * The number of structural features of the '<em>Allocated</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATED_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Allocated</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATED_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateActivityPartitionImpl
+	 * <em>Allocate Activity Partition</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateActivityPartitionImpl
+	 * @see org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl#getAllocateActivityPartition()
+	 * @generated
+	 */
+	int ALLOCATE_ACTIVITY_PARTITION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Activity Partition</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION = 0;
+
+	/**
+	 * The number of structural features of the '<em>Allocate Activity Partition</em>' class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_ACTIVITY_PARTITION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Allocate Activity Partition</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ALLOCATE_ACTIVITY_PARTITION_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.allocations.Allocate <em>Allocate</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Allocate</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocate
+	 * @generated
+	 */
+	EClass getAllocate();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.allocations.Allocate#getBase_Abstraction
+	 * <em>Base Abstraction</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Abstraction</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocate#getBase_Abstraction()
+	 * @see #getAllocate()
+	 * @generated
+	 */
+	EReference getAllocate_Base_Abstraction();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition <em>Allocate Activity Partition</em>} '.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Allocate Activity Partition</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition
+	 * @generated
+	 */
+	EClass getAllocateActivityPartition();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition#getBase_ActivityPartition
+	 * <em>Base Activity Partition</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Activity Partition</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition#getBase_ActivityPartition()
+	 * @see #getAllocateActivityPartition()
+	 * @generated
+	 */
+	EReference getAllocateActivityPartition_Base_ActivityPartition();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.allocations.Allocated <em>Allocated</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Allocated</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocated
+	 * @generated
+	 */
+	EClass getAllocated();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.allocations.Allocated#getAllocatedFrom
+	 * <em>Allocated From</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Allocated From</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocated#getAllocatedFrom()
+	 * @see #getAllocated()
+	 * @generated
+	 */
+	EReference getAllocated_AllocatedFrom();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.allocations.Allocated#getAllocatedTo <em>Allocated To</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Allocated To</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocated#getAllocatedTo()
+	 * @see #getAllocated()
+	 * @generated
+	 */
+	EReference getAllocated_AllocatedTo();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.allocations.Allocated#getBase_NamedElement
+	 * <em>Base Named Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocated#getBase_NamedElement()
+	 * @see #getAllocated()
+	 * @generated
+	 */
+	EReference getAllocated_Base_NamedElement();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	AllocationsFactory getAllocationsFactory();
+
+} // AllocationsPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocateActivityPartitionImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocateActivityPartitionImpl.java
new file mode 100644
index 0000000..217e8ac
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocateActivityPartitionImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Allocate Activity Partition</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateActivityPartitionImpl#getBase_ActivityPartition <em>Base Activity Partition </em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AllocateActivityPartitionImpl extends MinimalEObjectImpl.Container implements AllocateActivityPartition {
+
+	/**
+	 * The cached value of the '{@link #getBase_ActivityPartition() <em>Base Activity Partition</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_ActivityPartition()
+	 * @generated
+	 * @ordered
+	 */
+	protected ActivityPartition base_ActivityPartition;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected AllocateActivityPartitionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivityPartition basicGetBase_ActivityPartition() {
+		return base_ActivityPartition;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+			if (resolve) {
+				return getBase_ActivityPartition();
+			}
+			return basicGetBase_ActivityPartition();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+			return base_ActivityPartition != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+			setBase_ActivityPartition((ActivityPartition) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AllocationsPackage.Literals.ALLOCATE_ACTIVITY_PARTITION;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+			setBase_ActivityPartition((ActivityPartition) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ActivityPartition getBase_ActivityPartition() {
+		if (base_ActivityPartition != null && base_ActivityPartition.eIsProxy()) {
+			InternalEObject oldBase_ActivityPartition = (InternalEObject) base_ActivityPartition;
+			base_ActivityPartition = (ActivityPartition) eResolveProxy(oldBase_ActivityPartition);
+			if (base_ActivityPartition != oldBase_ActivityPartition) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+				}
+			}
+		}
+		return base_ActivityPartition;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ActivityPartition(ActivityPartition newBase_ActivityPartition) {
+		ActivityPartition oldBase_ActivityPartition = base_ActivityPartition;
+		base_ActivityPartition = newBase_ActivityPartition;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+		}
+	}
+
+} // AllocateActivityPartitionImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocateImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocateImpl.java
new file mode 100644
index 0000000..b4cd9fc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocateImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.allocations.Allocate;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.uml2.uml.Abstraction;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Allocate</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocateImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AllocateImpl extends MinimalEObjectImpl.Container implements Allocate {
+
+	/**
+	 * The cached value of the '{@link #getBase_Abstraction() <em>Base Abstraction</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Abstraction()
+	 * @generated
+	 * @ordered
+	 */
+	protected Abstraction base_Abstraction;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected AllocateImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Abstraction basicGetBase_Abstraction() {
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+			if (resolve) {
+				return getBase_Abstraction();
+			}
+			return basicGetBase_Abstraction();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+			return base_Abstraction != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+			setBase_Abstraction((Abstraction) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AllocationsPackage.Literals.ALLOCATE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+			setBase_Abstraction((Abstraction) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Abstraction getBase_Abstraction() {
+		if (base_Abstraction != null && base_Abstraction.eIsProxy()) {
+			InternalEObject oldBase_Abstraction = (InternalEObject) base_Abstraction;
+			base_Abstraction = (Abstraction) eResolveProxy(oldBase_Abstraction);
+			if (base_Abstraction != oldBase_Abstraction) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AllocationsPackage.ALLOCATE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+				}
+			}
+		}
+		return base_Abstraction;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+		Abstraction oldBase_Abstraction = base_Abstraction;
+		base_Abstraction = newBase_Abstraction;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, AllocationsPackage.ALLOCATE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+		}
+	}
+
+} // AllocateImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocatedImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocatedImpl.java
new file mode 100644
index 0000000..343ee61
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocatedImpl.java
@@ -0,0 +1,311 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.internal.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml.allocations.Allocate;
+import org.eclipse.papyrus.sysml.allocations.Allocated;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Allocated</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl#getAllocatedFrom <em>Allocated From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.allocations.internal.impl.AllocatedImpl#getAllocatedTo <em>Allocated To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AllocatedImpl extends MinimalEObjectImpl.Container implements Allocated {
+
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected AllocatedImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATED__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case AllocationsPackage.ALLOCATED__ALLOCATED_FROM:
+			return getAllocatedFrom();
+		case AllocationsPackage.ALLOCATED__ALLOCATED_TO:
+			return getAllocatedTo();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATED__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case AllocationsPackage.ALLOCATED__ALLOCATED_FROM:
+			return !getAllocatedFrom().isEmpty();
+		case AllocationsPackage.ALLOCATED__ALLOCATED_TO:
+			return !getAllocatedTo().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATED__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return AllocationsPackage.Literals.ALLOCATED;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case AllocationsPackage.ALLOCATED__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<NamedElement> getAllocatedFrom() {
+		// AllocatedFrom property lists all the named elements linked to current
+		// by an Allocate link.
+		// Current element is the target of the Allocate link.
+		EList<NamedElement> allocatedFrom = new BasicEList<NamedElement>();
+		Allocate currentAllocate = null;
+
+		if (getBase_NamedElement() != null) {
+			// Find Allocate link
+			Iterator<DirectedRelationship> itDep = getBase_NamedElement().getTargetDirectedRelationships().iterator();
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				currentAllocate = UMLUtil.getStereotypeApplication(currentDRelationship, Allocate.class);
+
+				if (currentAllocate != null) {
+					EList<Element> targets = currentAllocate.getBase_Abstraction().getSources();
+					Iterator<Element> it = targets.iterator();
+					while (it.hasNext()) {
+						Element currentElt = it.next();
+						if (currentElt instanceof NamedElement) {
+							allocatedFrom.add((NamedElement) currentElt);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<NamedElement> resultList = new UnmodifiableEList<NamedElement>(this, AllocationsPackage.eINSTANCE.getAllocated_AllocatedFrom(), allocatedFrom.size(), allocatedFrom.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getAllocatedFrom(String name) {
+		return getAllocatedFrom(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getAllocatedFrom(String name, boolean ignoreCase, EClass eClass) {
+		allocatedFromLoop: for (NamedElement allocatedFrom : getAllocatedFrom()) {
+			if (eClass != null && !eClass.isInstance(allocatedFrom)) {
+				continue allocatedFromLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(allocatedFrom.getName()) : name.equals(allocatedFrom.getName()))) {
+				continue allocatedFromLoop;
+			}
+			return allocatedFrom;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<NamedElement> getAllocatedTo() {
+		// AllocatedFrom property lists all the named elements linked to current
+		// by an Allocate link.
+		// Current element is the target of the Allocate link.
+		EList<NamedElement> allocatedTo = new BasicEList<NamedElement>();
+		Allocate currentAllocate = null;
+
+		if (getBase_NamedElement() != null) {
+			// Find Allocate link
+			Iterator<Dependency> itDep = getBase_NamedElement().getClientDependencies().iterator();
+			while (itDep.hasNext()) {
+				Dependency currentDependency = itDep.next();
+				currentAllocate = UMLUtil.getStereotypeApplication(currentDependency, Allocate.class);
+
+				if (currentAllocate != null) {
+					allocatedTo.addAll(currentAllocate.getBase_Abstraction().getSuppliers());
+				}
+			}
+		}
+		UnmodifiableEList<NamedElement> resultList = new UnmodifiableEList<NamedElement>(this, AllocationsPackage.eINSTANCE.getAllocated_AllocatedTo(), allocatedTo.size(), allocatedTo.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getAllocatedTo(String name) {
+		return getAllocatedTo(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getAllocatedTo(String name, boolean ignoreCase, EClass eClass) {
+		allocatedToLoop: for (NamedElement allocatedTo : getAllocatedTo()) {
+			if (eClass != null && !eClass.isInstance(allocatedTo)) {
+				continue allocatedToLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(allocatedTo.getName()) : name.equals(allocatedTo.getName()))) {
+				continue allocatedToLoop;
+			}
+			return allocatedTo;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, AllocationsPackage.ALLOCATED__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, AllocationsPackage.ALLOCATED__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+} // AllocatedImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocationsFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocationsFactoryImpl.java
new file mode 100644
index 0000000..eb8a8c9
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocationsFactoryImpl.java
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.allocations.Allocate;
+import org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml.allocations.Allocated;
+import org.eclipse.papyrus.sysml.allocations.AllocationsFactory;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class AllocationsFactoryImpl extends EFactoryImpl implements AllocationsFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static AllocationsPackage getPackage() {
+		return AllocationsPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static AllocationsFactory init() {
+		try {
+			AllocationsFactory theAllocationsFactory = (AllocationsFactory) EPackage.Registry.INSTANCE.getEFactory(AllocationsPackage.eNS_URI);
+			if (theAllocationsFactory != null) {
+				return theAllocationsFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new AllocationsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case AllocationsPackage.ALLOCATE:
+			return createAllocate();
+		case AllocationsPackage.ALLOCATED:
+			return createAllocated();
+		case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION:
+			return createAllocateActivityPartition();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Allocate createAllocate() {
+		AllocateImpl allocate = new AllocateImpl();
+		return allocate;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocateActivityPartition createAllocateActivityPartition() {
+		AllocateActivityPartitionImpl allocateActivityPartition = new AllocateActivityPartitionImpl();
+		return allocateActivityPartition;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Allocated createAllocated() {
+		AllocatedImpl allocated = new AllocatedImpl();
+		return allocated;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsPackage getAllocationsPackage() {
+		return (AllocationsPackage) getEPackage();
+	}
+
+} // AllocationsFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocationsPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocationsPackageImpl.java
new file mode 100644
index 0000000..452d2c7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/internal/impl/AllocationsPackageImpl.java
@@ -0,0 +1,346 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.Allocate;
+import org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml.allocations.Allocated;
+import org.eclipse.papyrus.sysml.allocations.AllocationsFactory;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class AllocationsPackageImpl extends EPackageImpl implements AllocationsPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link AllocationsPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static AllocationsPackage init() {
+		if (isInited) {
+			return (AllocationsPackage) EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new AllocationsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theAllocationsPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theAllocationsPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theAllocationsPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(AllocationsPackage.eNS_URI, theAllocationsPackage);
+		return theAllocationsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass allocateEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass allocatedEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass allocateActivityPartitionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private AllocationsPackageImpl() {
+		super(eNS_URI, AllocationsFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		allocateEClass = createEClass(ALLOCATE);
+		createEReference(allocateEClass, ALLOCATE__BASE_ABSTRACTION);
+
+		allocatedEClass = createEClass(ALLOCATED);
+		createEReference(allocatedEClass, ALLOCATED__BASE_NAMED_ELEMENT);
+		createEReference(allocatedEClass, ALLOCATED__ALLOCATED_FROM);
+		createEReference(allocatedEClass, ALLOCATED__ALLOCATED_TO);
+
+		allocateActivityPartitionEClass = createEClass(ALLOCATE_ACTIVITY_PARTITION);
+		createEReference(allocateActivityPartitionEClass, ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getAllocate() {
+		return allocateEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getAllocate_Base_Abstraction() {
+		return (EReference) allocateEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getAllocateActivityPartition() {
+		return allocateActivityPartitionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getAllocateActivityPartition_Base_ActivityPartition() {
+		return (EReference) allocateActivityPartitionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getAllocated() {
+		return allocatedEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getAllocated_AllocatedFrom() {
+		return (EReference) allocatedEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getAllocated_AllocatedTo() {
+		return (EReference) allocatedEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getAllocated_Base_NamedElement() {
+		return (EReference) allocatedEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsFactory getAllocationsFactory() {
+		return (AllocationsFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(allocateEClass, Allocate.class, "Allocate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAllocate_Base_Abstraction(), theUMLPackage.getAbstraction(), null, "base_Abstraction", null, 1, 1, Allocate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(allocatedEClass, Allocated.class, "Allocated", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAllocated_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 1, 1, Allocated.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getAllocated_AllocatedFrom(), theUMLPackage.getNamedElement(), null, "allocatedFrom", null, 0, -1, Allocated.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getAllocated_AllocatedTo(), theUMLPackage.getNamedElement(), null, "allocatedTo", null, 0, -1, Allocated.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(allocateActivityPartitionEClass, AllocateActivityPartition.class, "AllocateActivityPartition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getAllocateActivityPartition_Base_ActivityPartition(), theUMLPackage.getActivityPartition(), null, "base_ActivityPartition", null, 1, 1, AllocateActivityPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+				IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} // AllocationsPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsAdapterFactory.java
new file mode 100644
index 0000000..9d9c092
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsAdapterFactory.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.allocations.Allocate;
+import org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml.allocations.Allocated;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage
+ * @generated
+ */
+public class AllocationsAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static AllocationsPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected AllocationsSwitch<Adapter> modelSwitch = new AllocationsSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseAllocate(Allocate object) {
+			return createAllocateAdapter();
+		}
+
+		@Override
+		public Adapter caseAllocated(Allocated object) {
+			return createAllocatedAdapter();
+		}
+
+		@Override
+		public Adapter caseAllocateActivityPartition(AllocateActivityPartition object) {
+			return createAllocateActivityPartitionAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = AllocationsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition
+	 * <em>Allocate Activity Partition</em>}'.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null so that we can easily ignore cases;
+	 * it's useful to ignore a case when inheritance will catch all the cases
+	 * anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition
+	 * @generated
+	 */
+	public Adapter createAllocateActivityPartitionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.allocations.Allocate <em>Allocate</em>}'.
+	 * <!-- begin-user-doc
+	 * --> This default implementation returns null so
+	 * that we can easily ignore cases; it's useful to ignore a case when
+	 * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocate
+	 * @generated
+	 */
+	public Adapter createAllocateAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.allocations.Allocated
+	 * <em>Allocated</em>}'. <!-- begin-user-doc --> This default implementation
+	 * returns null so that we can easily ignore cases; it's useful to ignore a
+	 * case when inheritance will catch all the cases anyway. <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.allocations.Allocated
+	 * @generated
+	 */
+	public Adapter createAllocatedAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // AllocationsAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsResourceFactoryImpl.java
new file mode 100644
index 0000000..63ced65
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.util.AllocationsResourceImpl
+ * @generated
+ */
+public class AllocationsResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new AllocationsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // AllocationsResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsResourceImpl.java
new file mode 100644
index 0000000..1516d3b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.util.AllocationsResourceFactoryImpl
+ * @generated
+ */
+public class AllocationsResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public AllocationsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // AllocationsResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsSwitch.java
new file mode 100644
index 0000000..98bae27
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsSwitch.java
@@ -0,0 +1,175 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.allocations.Allocate;
+import org.eclipse.papyrus.sysml.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml.allocations.Allocated;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.allocations.AllocationsPackage
+ * @generated
+ */
+public class AllocationsSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static AllocationsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = AllocationsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Allocate</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Allocate</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAllocate(Allocate object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Allocate Activity Partition</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Allocate Activity Partition</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAllocateActivityPartition(AllocateActivityPartition object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Allocated</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Allocated</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseAllocated(Allocated object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case AllocationsPackage.ALLOCATE: {
+			Allocate allocate = (Allocate) theEObject;
+			T result = caseAllocate(allocate);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case AllocationsPackage.ALLOCATED: {
+			Allocated allocated = (Allocated) theEObject;
+			T result = caseAllocated(allocated);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION: {
+			AllocateActivityPartition allocateActivityPartition = (AllocateActivityPartition) theEObject;
+			T result = caseAllocateActivityPartition(allocateActivityPartition);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+} // AllocationsSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsXMLProcessor.java
new file mode 100644
index 0000000..fbb1815
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/allocations/util/AllocationsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.allocations.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AllocationsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public AllocationsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		AllocationsPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the AllocationsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new AllocationsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new AllocationsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // AllocationsXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BindingConnector.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BindingConnector.java
new file mode 100644
index 0000000..3efcc04
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BindingConnector.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Binding Connector</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.BindingConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getBindingConnector()
+ * @model
+ * @generated
+ */
+public interface BindingConnector extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Connector</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Connector</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Connector</em>' reference.
+	 * @see #setBase_Connector(Connector)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getBindingConnector_Base_Connector()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Connector getBase_Connector();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.BindingConnector#getBase_Connector <em>Base Connector</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Connector</em>' reference.
+	 * @see #getBase_Connector()
+	 * @generated
+	 */
+	void setBase_Connector(Connector value);
+
+} // BindingConnector
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Block.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Block.java
new file mode 100644
index 0000000..579622e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Block.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Block</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.Block#isEncapsulated <em>Is Encapsulated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.Block#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getBlock()
+ * @model
+ * @generated
+ */
+public interface Block extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Is Encapsulated</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Encapsulated</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Is Encapsulated</em>' attribute.
+	 * @see #setIsEncapsulated(boolean)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getBlock_IsEncapsulated()
+	 * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isEncapsulated();
+
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getBlock_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.Block#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.Block#isEncapsulated <em>Is Encapsulated</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Is Encapsulated</em>' attribute.
+	 * @see #isEncapsulated()
+	 * @generated
+	 */
+	void setIsEncapsulated(boolean value);
+
+} // Block
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BlocksFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BlocksFactory.java
new file mode 100644
index 0000000..42cb9bc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BlocksFactory.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage
+ * @generated
+ */
+public interface BlocksFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	BlocksFactory eINSTANCE = org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Binding Connector</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Binding Connector</em>'.
+	 * @generated
+	 */
+	BindingConnector createBindingConnector();
+
+	/**
+	 * Returns a new object of class '<em>Block</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Block</em>'.
+	 * @generated
+	 */
+	Block createBlock();
+
+	/**
+	 * Returns a new object of class '<em>Connector Property</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Connector Property</em>'.
+	 * @generated
+	 */
+	ConnectorProperty createConnectorProperty();
+
+	/**
+	 * Returns a new object of class '<em>Dimension</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Dimension</em>'.
+	 * @generated
+	 */
+	Dimension createDimension();
+
+	/**
+	 * Returns a new object of class '<em>Distributed Property</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Distributed Property</em>'.
+	 * @generated
+	 */
+	DistributedProperty createDistributedProperty();
+
+	/**
+	 * Returns a new object of class '<em>Nested Connector End</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Nested Connector End</em>'.
+	 * @generated
+	 */
+	NestedConnectorEnd createNestedConnectorEnd();
+
+	/**
+	 * Returns a new object of class '<em>Participant Property</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Participant Property</em>'.
+	 * @generated
+	 */
+	ParticipantProperty createParticipantProperty();
+
+	/**
+	 * Returns a new object of class '<em>Property Specific Type</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Property Specific Type</em>'.
+	 * @generated
+	 */
+	PropertySpecificType createPropertySpecificType();
+
+	/**
+	 * Returns a new object of class '<em>Unit</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Unit</em>'.
+	 * @generated
+	 */
+	Unit createUnit();
+
+	/**
+	 * Returns a new object of class '<em>Value Type</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Value Type</em>'.
+	 * @generated
+	 */
+	ValueType createValueType();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	BlocksPackage getBlocksPackage();
+
+} // BlocksFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BlocksPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BlocksPackage.java
new file mode 100644
index 0000000..e44f440
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/BlocksPackage.java
@@ -0,0 +1,1101 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface BlocksPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl <em>Block</em>}' class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getBlock()
+		 * @generated
+		 */
+		EClass BLOCK = eINSTANCE.getBlock();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Encapsulated</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute BLOCK__IS_ENCAPSULATED = eINSTANCE.getBlock_IsEncapsulated();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference BLOCK__BASE_CLASS = eINSTANCE.getBlock_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.DistributedPropertyImpl
+		 * <em>Distributed Property</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.DistributedPropertyImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getDistributedProperty()
+		 * @generated
+		 */
+		EClass DISTRIBUTED_PROPERTY = eINSTANCE.getDistributedProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DISTRIBUTED_PROPERTY__BASE_PROPERTY = eINSTANCE.getDistributedProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.blocks.internal.impl.DimensionImpl
+		 * <em>Dimension</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.DimensionImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getDimension()
+		 * @generated
+		 */
+		EClass DIMENSION = eINSTANCE.getDimension();
+
+		/**
+		 * The meta object literal for the ' <em><b>Base Instance Specification</b></em>' reference feature. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference DIMENSION__BASE_INSTANCE_SPECIFICATION = eINSTANCE.getDimension_Base_InstanceSpecification();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.UnitImpl <em>Unit</em>}' class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.UnitImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getUnit()
+		 * @generated
+		 */
+		EClass UNIT = eINSTANCE.getUnit();
+
+		/**
+		 * The meta object literal for the ' <em><b>Base Instance Specification</b></em>' reference feature. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference UNIT__BASE_INSTANCE_SPECIFICATION = eINSTANCE.getUnit_Base_InstanceSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimension</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference UNIT__DIMENSION = eINSTANCE.getUnit_Dimension();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl <em>Value Type</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getValueType()
+		 * @generated
+		 */
+		EClass VALUE_TYPE = eINSTANCE.getValueType();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VALUE_TYPE__BASE_DATA_TYPE = eINSTANCE.getValueType_Base_DataType();
+
+		/**
+		 * The meta object literal for the '<em><b>Unit</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VALUE_TYPE__UNIT = eINSTANCE.getValueType_Unit();
+
+		/**
+		 * The meta object literal for the '<em><b>Dimension</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VALUE_TYPE__DIMENSION = eINSTANCE.getValueType_Dimension();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.NestedConnectorEndImpl
+		 * <em>Nested Connector End</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.NestedConnectorEndImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getNestedConnectorEnd()
+		 * @generated
+		 */
+		EClass NESTED_CONNECTOR_END = eINSTANCE.getNestedConnectorEnd();
+
+		/**
+		 * The meta object literal for the '<em><b>Property Path</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference NESTED_CONNECTOR_END__PROPERTY_PATH = eINSTANCE.getNestedConnectorEnd_PropertyPath();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Connector End</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference NESTED_CONNECTOR_END__BASE_CONNECTOR_END = eINSTANCE.getNestedConnectorEnd_Base_ConnectorEnd();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ParticipantPropertyImpl
+		 * <em>Participant Property</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.ParticipantPropertyImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getParticipantProperty()
+		 * @generated
+		 */
+		EClass PARTICIPANT_PROPERTY = eINSTANCE.getParticipantProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PARTICIPANT_PROPERTY__BASE_PROPERTY = eINSTANCE.getParticipantProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>End</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PARTICIPANT_PROPERTY__END = eINSTANCE.getParticipantProperty_End();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ConnectorPropertyImpl <em>Connector Property</em>}'
+		 * class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.ConnectorPropertyImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getConnectorProperty()
+		 * @generated
+		 */
+		EClass CONNECTOR_PROPERTY = eINSTANCE.getConnectorProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONNECTOR_PROPERTY__BASE_PROPERTY = eINSTANCE.getConnectorProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Connector</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONNECTOR_PROPERTY__CONNECTOR = eINSTANCE.getConnectorProperty_Connector();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BindingConnectorImpl <em>Binding Connector</em>}'
+		 * class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BindingConnectorImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getBindingConnector()
+		 * @generated
+		 */
+		EClass BINDING_CONNECTOR = eINSTANCE.getBindingConnector();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference BINDING_CONNECTOR__BASE_CONNECTOR = eINSTANCE.getBindingConnector_Base_Connector();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.PropertySpecificTypeImpl
+		 * <em>Property Specific Type</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.PropertySpecificTypeImpl
+		 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getPropertySpecificType()
+		 * @generated
+		 */
+		EClass PROPERTY_SPECIFIC_TYPE = eINSTANCE.getPropertySpecificType();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Classifier</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER = eINSTANCE.getPropertySpecificType_Base_Classifier();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "blocks";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "Blocks";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	BlocksPackage eINSTANCE = org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl <em>Block</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getBlock()
+	 * @generated
+	 */
+	int BLOCK = 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK__IS_ENCAPSULATED = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK__BASE_CLASS = 1;
+
+	/**
+	 * The number of structural features of the '<em>Block</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BLOCK_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.DistributedPropertyImpl <em>Distributed Property</em>}'
+	 * class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.DistributedPropertyImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getDistributedProperty()
+	 * @generated
+	 */
+	int DISTRIBUTED_PROPERTY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Distributed Property</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_PROPERTY_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Distributed Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DISTRIBUTED_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.DimensionImpl <em>Dimension</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.DimensionImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getDimension()
+	 * @generated
+	 */
+	int DIMENSION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION__BASE_INSTANCE_SPECIFICATION = 0;
+
+	/**
+	 * The number of structural features of the '<em>Dimension</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Dimension</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DIMENSION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.UnitImpl <em>Unit</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.UnitImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getUnit()
+	 * @generated
+	 */
+	int UNIT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT__BASE_INSTANCE_SPECIFICATION = 0;
+
+	/**
+	 * The feature id for the '<em><b>Dimension</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT__DIMENSION = 1;
+
+	/**
+	 * The number of structural features of the '<em>Unit</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Unit</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int UNIT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl
+	 * <em>Value Type</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getValueType()
+	 * @generated
+	 */
+	int VALUE_TYPE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Data Type</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE__BASE_DATA_TYPE = 0;
+
+	/**
+	 * The feature id for the '<em><b>Unit</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE__UNIT = 1;
+
+	/**
+	 * The feature id for the '<em><b>Dimension</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE__DIMENSION = 2;
+
+	/**
+	 * The number of structural features of the '<em>Value Type</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Value Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_TYPE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.NestedConnectorEndImpl <em>Nested Connector End</em>}' class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.NestedConnectorEndImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getNestedConnectorEnd()
+	 * @generated
+	 */
+	int NESTED_CONNECTOR_END = 5;
+
+	/**
+	 * The feature id for the '<em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NESTED_CONNECTOR_END__PROPERTY_PATH = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Connector End</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NESTED_CONNECTOR_END__BASE_CONNECTOR_END = 1;
+
+	/**
+	 * The number of structural features of the '<em>Nested Connector End</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NESTED_CONNECTOR_END_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Nested Connector End</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int NESTED_CONNECTOR_END_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ParticipantPropertyImpl <em>Participant Property</em>}'
+	 * class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.ParticipantPropertyImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getParticipantProperty()
+	 * @generated
+	 */
+	int PARTICIPANT_PROPERTY = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PARTICIPANT_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>End</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PARTICIPANT_PROPERTY__END = 1;
+
+	/**
+	 * The number of structural features of the '<em>Participant Property</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PARTICIPANT_PROPERTY_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Participant Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PARTICIPANT_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ConnectorPropertyImpl <em>Connector Property</em>}' class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.ConnectorPropertyImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getConnectorProperty()
+	 * @generated
+	 */
+	int CONNECTOR_PROPERTY = 7;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Connector</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_PROPERTY__CONNECTOR = 1;
+
+	/**
+	 * The number of structural features of the '<em>Connector Property</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_PROPERTY_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Connector Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BindingConnectorImpl <em>Binding Connector</em>}' class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BindingConnectorImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getBindingConnector()
+	 * @generated
+	 */
+	int BINDING_CONNECTOR = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Connector</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BINDING_CONNECTOR__BASE_CONNECTOR = 0;
+
+	/**
+	 * The number of structural features of the '<em>Binding Connector</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BINDING_CONNECTOR_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Binding Connector</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int BINDING_CONNECTOR_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.blocks.internal.impl.PropertySpecificTypeImpl <em>Property Specific Type</em>}'
+	 * class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.PropertySpecificTypeImpl
+	 * @see org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl#getPropertySpecificType()
+	 * @generated
+	 */
+	int PROPERTY_SPECIFIC_TYPE = 9;
+
+	/**
+	 * The feature id for the '<em><b>Base Classifier</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER = 0;
+
+	/**
+	 * The number of structural features of the '<em>Property Specific Type</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_SPECIFIC_TYPE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Property Specific Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY_SPECIFIC_TYPE_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.blocks.BindingConnector
+	 * <em>Binding Connector</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for class '<em>Binding Connector</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.BindingConnector
+	 * @generated
+	 */
+	EClass getBindingConnector();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.BindingConnector#getBase_Connector <em>Base Connector</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Connector</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.BindingConnector#getBase_Connector()
+	 * @see #getBindingConnector()
+	 * @generated
+	 */
+	EReference getBindingConnector_Base_Connector();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.blocks.Block <em>Block</em>}'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Block</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Block
+	 * @generated
+	 */
+	EClass getBlock();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.Block#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Block#getBase_Class()
+	 * @see #getBlock()
+	 * @generated
+	 */
+	EReference getBlock_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.blocks.Block#isEncapsulated <em>Is Encapsulated</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Is Encapsulated</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Block#isEncapsulated()
+	 * @see #getBlock()
+	 * @generated
+	 */
+	EAttribute getBlock_IsEncapsulated();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	BlocksFactory getBlocksFactory();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty
+	 * <em>Connector Property</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for class '<em>Connector Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ConnectorProperty
+	 * @generated
+	 */
+	EClass getConnectorProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getBase_Property <em>Base Property</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getBase_Property()
+	 * @see #getConnectorProperty()
+	 * @generated
+	 */
+	EReference getConnectorProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getConnector <em>Connector</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Connector</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getConnector()
+	 * @see #getConnectorProperty()
+	 * @generated
+	 */
+	EReference getConnectorProperty_Connector();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.blocks.Dimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Dimension</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Dimension
+	 * @generated
+	 */
+	EClass getDimension();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.Dimension#getBase_InstanceSpecification
+	 * <em>Base Instance Specification</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Dimension#getBase_InstanceSpecification()
+	 * @see #getDimension()
+	 * @generated
+	 */
+	EReference getDimension_Base_InstanceSpecification();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.blocks.DistributedProperty <em>Distributed Property</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Distributed Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.DistributedProperty
+	 * @generated
+	 */
+	EClass getDistributedProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.DistributedProperty#getBase_Property <em>Base Property</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.DistributedProperty#getBase_Property()
+	 * @see #getDistributedProperty()
+	 * @generated
+	 */
+	EReference getDistributedProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd <em>Nested Connector End</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Nested Connector End</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd
+	 * @generated
+	 */
+	EClass getNestedConnectorEnd();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getBase_ConnectorEnd
+	 * <em>Base Connector End</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Connector End</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getBase_ConnectorEnd()
+	 * @see #getNestedConnectorEnd()
+	 * @generated
+	 */
+	EReference getNestedConnectorEnd_Base_ConnectorEnd();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getPropertyPath
+	 * <em>Property Path</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Property Path</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getPropertyPath()
+	 * @see #getNestedConnectorEnd()
+	 * @generated
+	 */
+	EReference getNestedConnectorEnd_PropertyPath();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty <em>Participant Property</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Participant Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ParticipantProperty
+	 * @generated
+	 */
+	EClass getParticipantProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getBase_Property <em>Base Property</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getBase_Property()
+	 * @see #getParticipantProperty()
+	 * @generated
+	 */
+	EReference getParticipantProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getEnd <em>End</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>End</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getEnd()
+	 * @see #getParticipantProperty()
+	 * @generated
+	 */
+	EReference getParticipantProperty_End();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.blocks.PropertySpecificType <em>Property Specific Type</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Property Specific Type</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.PropertySpecificType
+	 * @generated
+	 */
+	EClass getPropertySpecificType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.PropertySpecificType#getBase_Classifier
+	 * <em>Base Classifier</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Classifier</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.PropertySpecificType#getBase_Classifier()
+	 * @see #getPropertySpecificType()
+	 * @generated
+	 */
+	EReference getPropertySpecificType_Base_Classifier();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.blocks.Unit <em>Unit</em>}'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Unit</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Unit
+	 * @generated
+	 */
+	EClass getUnit();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.Unit#getBase_InstanceSpecification
+	 * <em>Base Instance Specification</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Instance Specification</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Unit#getBase_InstanceSpecification()
+	 * @see #getUnit()
+	 * @generated
+	 */
+	EReference getUnit_Base_InstanceSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.Unit#getDimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Dimension</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.Unit#getDimension()
+	 * @see #getUnit()
+	 * @generated
+	 */
+	EReference getUnit_Dimension();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.blocks.ValueType <em>Value Type</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Value Type</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ValueType
+	 * @generated
+	 */
+	EClass getValueType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ValueType#getBase_DataType <em>Base Data Type</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Data Type</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ValueType#getBase_DataType()
+	 * @see #getValueType()
+	 * @generated
+	 */
+	EReference getValueType_Base_DataType();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ValueType#getDimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Dimension</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ValueType#getDimension()
+	 * @see #getValueType()
+	 * @generated
+	 */
+	EReference getValueType_Dimension();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.blocks.ValueType#getUnit <em>Unit</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Unit</em>'.
+	 * @see org.eclipse.papyrus.sysml.blocks.ValueType#getUnit()
+	 * @see #getValueType()
+	 * @generated
+	 */
+	EReference getValueType_Unit();
+
+} // BlocksPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ConnectorProperty.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ConnectorProperty.java
new file mode 100644
index 0000000..a960ae6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ConnectorProperty.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Connector Property</b></em> '. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getConnector <em>Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getConnectorProperty()
+ * @model
+ * @generated
+ */
+public interface ConnectorProperty extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getConnectorProperty_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Returns the value of the '<em><b>Connector</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Connector</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Connector</em>' reference.
+	 * @see #setConnector(Connector)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getConnectorProperty_Connector()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Connector getConnector();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty#getConnector
+	 * <em>Connector</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Connector</em>' reference.
+	 * @see #getConnector()
+	 * @generated
+	 */
+	void setConnector(Connector value);
+
+} // ConnectorProperty
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Dimension.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Dimension.java
new file mode 100644
index 0000000..6f95057
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Dimension.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Dimension</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.Dimension#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getDimension()
+ * @model
+ * @generated
+ */
+public interface Dimension extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #setBase_InstanceSpecification(InstanceSpecification)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getDimension_Base_InstanceSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getBase_InstanceSpecification();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.Dimension#getBase_InstanceSpecification <em>Base Instance Specification</em>}'
+	 * reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 */
+	void setBase_InstanceSpecification(InstanceSpecification value);
+
+} // Dimension
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/DistributedProperty.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/DistributedProperty.java
new file mode 100644
index 0000000..a69b9ef
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/DistributedProperty.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Distributed Property</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.DistributedProperty#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getDistributedProperty()
+ * @model
+ * @generated
+ */
+public interface DistributedProperty extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getDistributedProperty_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.DistributedProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // DistributedProperty
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/NestedConnectorEnd.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/NestedConnectorEnd.java
new file mode 100644
index 0000000..7d497cb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/NestedConnectorEnd.java
@@ -0,0 +1,118 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Nested Connector End</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getPropertyPath <em>Property Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getBase_ConnectorEnd <em>Base Connector End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getNestedConnectorEnd()
+ * @model
+ * @generated
+ */
+public interface NestedConnectorEnd extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Connector End</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Connector End</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Connector End</em>' reference.
+	 * @see #setBase_ConnectorEnd(ConnectorEnd)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getNestedConnectorEnd_Base_ConnectorEnd()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	ConnectorEnd getBase_ConnectorEnd();
+
+	/**
+	 * Returns the value of the '<em><b>Property Path</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.Property}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Property Path</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Property Path</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getNestedConnectorEnd_PropertyPath()
+	 * @model required="true"
+	 * @generated
+	 */
+	EList<Property> getPropertyPath();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the ' <em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type
+	 *            The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getPropertyPath()
+	 * @generated
+	 */
+	Property getPropertyPath(String name, Type type);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the ' <em><b>Property Path</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param type
+	 *            The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>.
+	 * @see #getPropertyPath()
+	 * @generated
+	 */
+	Property getPropertyPath(String name, Type type, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd#getBase_ConnectorEnd <em>Base Connector End</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Connector End</em>' reference.
+	 * @see #getBase_ConnectorEnd()
+	 * @generated
+	 */
+	void setBase_ConnectorEnd(ConnectorEnd value);
+
+} // NestedConnectorEnd
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ParticipantProperty.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ParticipantProperty.java
new file mode 100644
index 0000000..4889985
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ParticipantProperty.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Participant Property</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getParticipantProperty()
+ * @model
+ * @generated
+ */
+public interface ParticipantProperty extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getParticipantProperty_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Returns the value of the '<em><b>End</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>End</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>End</em>' reference.
+	 * @see #setEnd(Property)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getParticipantProperty_End()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getEnd();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty#getEnd <em>End</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>End</em>' reference.
+	 * @see #getEnd()
+	 * @generated
+	 */
+	void setEnd(Property value);
+
+} // ParticipantProperty
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/PropertySpecificType.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/PropertySpecificType.java
new file mode 100644
index 0000000..7f75ddb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/PropertySpecificType.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Property Specific Type</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.PropertySpecificType#getBase_Classifier <em>Base Classifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getPropertySpecificType()
+ * @model
+ * @generated
+ */
+public interface PropertySpecificType extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Classifier</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Classifier</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Classifier</em>' reference.
+	 * @see #setBase_Classifier(Classifier)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getPropertySpecificType_Base_Classifier()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Classifier getBase_Classifier();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.PropertySpecificType#getBase_Classifier <em>Base Classifier</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Classifier</em>' reference.
+	 * @see #getBase_Classifier()
+	 * @generated
+	 */
+	void setBase_Classifier(Classifier value);
+
+} // PropertySpecificType
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Unit.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Unit.java
new file mode 100644
index 0000000..6a74616
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/Unit.java
@@ -0,0 +1,93 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Unit</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.Unit#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.Unit#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getUnit()
+ * @model
+ * @generated
+ */
+public interface Unit extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Instance Specification</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Instance Specification</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #setBase_InstanceSpecification(InstanceSpecification)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getUnit_Base_InstanceSpecification()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InstanceSpecification getBase_InstanceSpecification();
+
+	/**
+	 * Returns the value of the '<em><b>Dimension</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimension</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Dimension</em>' reference.
+	 * @see #setDimension(Dimension)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getUnit_Dimension()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Dimension getDimension();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.Unit#getBase_InstanceSpecification <em>Base Instance Specification</em>}'
+	 * reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Instance Specification</em>' reference.
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 */
+	void setBase_InstanceSpecification(InstanceSpecification value);
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.blocks.Unit#getDimension
+	 * <em>Dimension</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Dimension</em>' reference.
+	 * @see #getDimension()
+	 * @generated
+	 */
+	void setDimension(Dimension value);
+
+} // Unit
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ValueType.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ValueType.java
new file mode 100644
index 0000000..8f40697
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/ValueType.java
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.DataType;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Value Type</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ValueType#getBase_DataType <em>Base Data Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ValueType#getUnit <em>Unit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.ValueType#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getValueType()
+ * @model
+ * @generated
+ */
+public interface ValueType extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Data Type</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Data Type</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Data Type</em>' reference.
+	 * @see #setBase_DataType(DataType)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getValueType_Base_DataType()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	DataType getBase_DataType();
+
+	/**
+	 * Returns the value of the '<em><b>Dimension</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Dimension</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Dimension</em>' reference.
+	 * @see #setDimension(Dimension)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getValueType_Dimension()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Dimension getDimension();
+
+	/**
+	 * Returns the value of the '<em><b>Unit</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Unit</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Unit</em>' reference.
+	 * @see #setUnit(Unit)
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#getValueType_Unit()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Unit getUnit();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.ValueType#getBase_DataType <em>Base Data Type</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Data Type</em>' reference.
+	 * @see #getBase_DataType()
+	 * @generated
+	 */
+	void setBase_DataType(DataType value);
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.blocks.ValueType#getDimension
+	 * <em>Dimension</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Dimension</em>' reference.
+	 * @see #getDimension()
+	 * @generated
+	 */
+	void setDimension(Dimension value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.blocks.ValueType#getUnit <em>Unit</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Unit</em>' reference.
+	 * @see #getUnit()
+	 * @generated
+	 */
+	void setUnit(Unit value);
+
+} // ValueType
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BindingConnectorImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BindingConnectorImpl.java
new file mode 100644
index 0000000..e4f7283
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BindingConnectorImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Binding Connector</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BindingConnectorImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BindingConnectorImpl extends MinimalEObjectImpl.Container implements BindingConnector {
+
+	/**
+	 * The cached value of the '{@link #getBase_Connector() <em>Base Connector</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Connector()
+	 * @generated
+	 * @ordered
+	 */
+	protected Connector base_Connector;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected BindingConnectorImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Connector basicGetBase_Connector() {
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR:
+			if (resolve) {
+				return getBase_Connector();
+			}
+			return basicGetBase_Connector();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR:
+			return base_Connector != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR:
+			setBase_Connector((Connector) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.BINDING_CONNECTOR;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR:
+			setBase_Connector((Connector) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Connector getBase_Connector() {
+		if (base_Connector != null && base_Connector.eIsProxy()) {
+			InternalEObject oldBase_Connector = (InternalEObject) base_Connector;
+			base_Connector = (Connector) eResolveProxy(oldBase_Connector);
+			if (base_Connector != oldBase_Connector) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+				}
+			}
+		}
+		return base_Connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Connector(Connector newBase_Connector) {
+		Connector oldBase_Connector = base_Connector;
+		base_Connector = newBase_Connector;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.BINDING_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+		}
+	}
+
+} // BindingConnectorImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlockImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlockImpl.java
new file mode 100644
index 0000000..5114e3e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlockImpl.java
@@ -0,0 +1,241 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Block</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl#isEncapsulated <em>Is Encapsulated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BlockImpl extends MinimalEObjectImpl.Container implements Block {
+
+	/**
+	 * The default value of the '{@link #isEncapsulated() <em>Is Encapsulated</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #isEncapsulated()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_ENCAPSULATED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isEncapsulated() <em>Is Encapsulated</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #isEncapsulated()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isEncapsulated = IS_ENCAPSULATED_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected BlockImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+			return isEncapsulated();
+		case BlocksPackage.BLOCK__BASE_CLASS:
+			if (resolve) {
+				return getBase_Class();
+			}
+			return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+			return isEncapsulated != IS_ENCAPSULATED_EDEFAULT;
+		case BlocksPackage.BLOCK__BASE_CLASS:
+			return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+			setIsEncapsulated((Boolean) newValue);
+			return;
+		case BlocksPackage.BLOCK__BASE_CLASS:
+			setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.BLOCK;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public boolean isEncapsulated() {
+		return isEncapsulated;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+			setIsEncapsulated(IS_ENCAPSULATED_EDEFAULT);
+			return;
+		case BlocksPackage.BLOCK__BASE_CLASS:
+			setBase_Class((org.eclipse.uml2.uml.Class) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject) base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class) eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.BLOCK__BASE_CLASS, oldBase_Class, base_Class));
+				}
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.BLOCK__BASE_CLASS, oldBase_Class, base_Class));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setIsEncapsulated(boolean newIsEncapsulated) {
+		boolean oldIsEncapsulated = isEncapsulated;
+		isEncapsulated = newIsEncapsulated;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.BLOCK__IS_ENCAPSULATED, oldIsEncapsulated, isEncapsulated));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (isEncapsulated: ");
+		result.append(isEncapsulated);
+		result.append(')');
+		return result.toString();
+	}
+
+} // BlockImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlocksFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlocksFactoryImpl.java
new file mode 100644
index 0000000..afcdc7d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlocksFactoryImpl.java
@@ -0,0 +1,225 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.blocks.BlocksFactory;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.papyrus.sysml.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml.blocks.PropertySpecificType;
+import org.eclipse.papyrus.sysml.blocks.Unit;
+import org.eclipse.papyrus.sysml.blocks.ValueType;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class BlocksFactoryImpl extends EFactoryImpl implements BlocksFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static BlocksPackage getPackage() {
+		return BlocksPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static BlocksFactory init() {
+		try {
+			BlocksFactory theBlocksFactory = (BlocksFactory) EPackage.Registry.INSTANCE.getEFactory(BlocksPackage.eNS_URI);
+			if (theBlocksFactory != null) {
+				return theBlocksFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new BlocksFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case BlocksPackage.BLOCK:
+			return createBlock();
+		case BlocksPackage.DISTRIBUTED_PROPERTY:
+			return createDistributedProperty();
+		case BlocksPackage.DIMENSION:
+			return createDimension();
+		case BlocksPackage.UNIT:
+			return createUnit();
+		case BlocksPackage.VALUE_TYPE:
+			return createValueType();
+		case BlocksPackage.NESTED_CONNECTOR_END:
+			return createNestedConnectorEnd();
+		case BlocksPackage.PARTICIPANT_PROPERTY:
+			return createParticipantProperty();
+		case BlocksPackage.CONNECTOR_PROPERTY:
+			return createConnectorProperty();
+		case BlocksPackage.BINDING_CONNECTOR:
+			return createBindingConnector();
+		case BlocksPackage.PROPERTY_SPECIFIC_TYPE:
+			return createPropertySpecificType();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BindingConnector createBindingConnector() {
+		BindingConnectorImpl bindingConnector = new BindingConnectorImpl();
+		return bindingConnector;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Block createBlock() {
+		BlockImpl block = new BlockImpl();
+		return block;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConnectorProperty createConnectorProperty() {
+		ConnectorPropertyImpl connectorProperty = new ConnectorPropertyImpl();
+		return connectorProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dimension createDimension() {
+		DimensionImpl dimension = new DimensionImpl();
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DistributedProperty createDistributedProperty() {
+		DistributedPropertyImpl distributedProperty = new DistributedPropertyImpl();
+		return distributedProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NestedConnectorEnd createNestedConnectorEnd() {
+		NestedConnectorEndImpl nestedConnectorEnd = new NestedConnectorEndImpl();
+		return nestedConnectorEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ParticipantProperty createParticipantProperty() {
+		ParticipantPropertyImpl participantProperty = new ParticipantPropertyImpl();
+		return participantProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PropertySpecificType createPropertySpecificType() {
+		PropertySpecificTypeImpl propertySpecificType = new PropertySpecificTypeImpl();
+		return propertySpecificType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Unit createUnit() {
+		UnitImpl unit = new UnitImpl();
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ValueType createValueType() {
+		ValueTypeImpl valueType = new ValueTypeImpl();
+		return valueType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksPackage getBlocksPackage() {
+		return (BlocksPackage) getEPackage();
+	}
+
+} // BlocksFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlocksPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlocksPackageImpl.java
new file mode 100644
index 0000000..64439fc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/BlocksPackageImpl.java
@@ -0,0 +1,636 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.blocks.BlocksFactory;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.papyrus.sysml.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml.blocks.PropertySpecificType;
+import org.eclipse.papyrus.sysml.blocks.Unit;
+import org.eclipse.papyrus.sysml.blocks.ValueType;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class BlocksPackageImpl extends EPackageImpl implements BlocksPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link BlocksPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static BlocksPackage init() {
+		if (isInited) {
+			return (BlocksPackage) EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BlocksPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theBlocksPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theBlocksPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theBlocksPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(BlocksPackage.eNS_URI, theBlocksPackage);
+		return theBlocksPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass blockEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass distributedPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass dimensionEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass unitEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass valueTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass nestedConnectorEndEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass participantPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass connectorPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass bindingConnectorEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass propertySpecificTypeEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private BlocksPackageImpl() {
+		super(eNS_URI, BlocksFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		blockEClass = createEClass(BLOCK);
+		createEAttribute(blockEClass, BLOCK__IS_ENCAPSULATED);
+		createEReference(blockEClass, BLOCK__BASE_CLASS);
+
+		distributedPropertyEClass = createEClass(DISTRIBUTED_PROPERTY);
+		createEReference(distributedPropertyEClass, DISTRIBUTED_PROPERTY__BASE_PROPERTY);
+
+		dimensionEClass = createEClass(DIMENSION);
+		createEReference(dimensionEClass, DIMENSION__BASE_INSTANCE_SPECIFICATION);
+
+		unitEClass = createEClass(UNIT);
+		createEReference(unitEClass, UNIT__BASE_INSTANCE_SPECIFICATION);
+		createEReference(unitEClass, UNIT__DIMENSION);
+
+		valueTypeEClass = createEClass(VALUE_TYPE);
+		createEReference(valueTypeEClass, VALUE_TYPE__BASE_DATA_TYPE);
+		createEReference(valueTypeEClass, VALUE_TYPE__UNIT);
+		createEReference(valueTypeEClass, VALUE_TYPE__DIMENSION);
+
+		nestedConnectorEndEClass = createEClass(NESTED_CONNECTOR_END);
+		createEReference(nestedConnectorEndEClass, NESTED_CONNECTOR_END__PROPERTY_PATH);
+		createEReference(nestedConnectorEndEClass, NESTED_CONNECTOR_END__BASE_CONNECTOR_END);
+
+		participantPropertyEClass = createEClass(PARTICIPANT_PROPERTY);
+		createEReference(participantPropertyEClass, PARTICIPANT_PROPERTY__BASE_PROPERTY);
+		createEReference(participantPropertyEClass, PARTICIPANT_PROPERTY__END);
+
+		connectorPropertyEClass = createEClass(CONNECTOR_PROPERTY);
+		createEReference(connectorPropertyEClass, CONNECTOR_PROPERTY__BASE_PROPERTY);
+		createEReference(connectorPropertyEClass, CONNECTOR_PROPERTY__CONNECTOR);
+
+		bindingConnectorEClass = createEClass(BINDING_CONNECTOR);
+		createEReference(bindingConnectorEClass, BINDING_CONNECTOR__BASE_CONNECTOR);
+
+		propertySpecificTypeEClass = createEClass(PROPERTY_SPECIFIC_TYPE);
+		createEReference(propertySpecificTypeEClass, PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getBindingConnector() {
+		return bindingConnectorEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getBindingConnector_Base_Connector() {
+		return (EReference) bindingConnectorEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getBlock() {
+		return blockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getBlock_Base_Class() {
+		return (EReference) blockEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getBlock_IsEncapsulated() {
+		return (EAttribute) blockEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksFactory getBlocksFactory() {
+		return (BlocksFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getConnectorProperty() {
+		return connectorPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getConnectorProperty_Base_Property() {
+		return (EReference) connectorPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getConnectorProperty_Connector() {
+		return (EReference) connectorPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getDimension() {
+		return dimensionEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getDimension_Base_InstanceSpecification() {
+		return (EReference) dimensionEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getDistributedProperty() {
+		return distributedPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getDistributedProperty_Base_Property() {
+		return (EReference) distributedPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getNestedConnectorEnd() {
+		return nestedConnectorEndEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getNestedConnectorEnd_Base_ConnectorEnd() {
+		return (EReference) nestedConnectorEndEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getNestedConnectorEnd_PropertyPath() {
+		return (EReference) nestedConnectorEndEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getParticipantProperty() {
+		return participantPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getParticipantProperty_Base_Property() {
+		return (EReference) participantPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getParticipantProperty_End() {
+		return (EReference) participantPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getPropertySpecificType() {
+		return propertySpecificTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getPropertySpecificType_Base_Classifier() {
+		return (EReference) propertySpecificTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getUnit() {
+		return unitEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getUnit_Base_InstanceSpecification() {
+		return (EReference) unitEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getUnit_Dimension() {
+		return (EReference) unitEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getValueType() {
+		return valueTypeEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getValueType_Base_DataType() {
+		return (EReference) valueTypeEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getValueType_Dimension() {
+		return (EReference) valueTypeEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getValueType_Unit() {
+		return (EReference) valueTypeEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(blockEClass, Block.class, "Block", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getBlock_IsEncapsulated(), theTypesPackage.getBoolean(), "isEncapsulated", null, 0, 1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getBlock_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Block.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(distributedPropertyEClass, DistributedProperty.class, "DistributedProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDistributedProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, DistributedProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				!IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(dimensionEClass, Dimension.class, "Dimension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getDimension_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, Dimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
+				!IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(unitEClass, Unit.class, "Unit", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getUnit_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, Unit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				!IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getUnit_Dimension(), this.getDimension(), null, "dimension", null, 0, 1, Unit.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(valueTypeEClass, ValueType.class, "ValueType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getValueType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getValueType_Unit(), this.getUnit(), null, "unit", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getValueType_Dimension(), this.getDimension(), null, "dimension", null, 0, 1, ValueType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(nestedConnectorEndEClass, NestedConnectorEnd.class, "NestedConnectorEnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getNestedConnectorEnd_PropertyPath(), theUMLPackage.getProperty(), null, "propertyPath", null, 1, -1, NestedConnectorEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEReference(getNestedConnectorEnd_Base_ConnectorEnd(), theUMLPackage.getConnectorEnd(), null, "base_ConnectorEnd", null, 1, 1, NestedConnectorEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				!IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(participantPropertyEClass, ParticipantProperty.class, "ParticipantProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getParticipantProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, ParticipantProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				!IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getParticipantProperty_End(), theUMLPackage.getProperty(), null, "end", null, 1, 1, ParticipantProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(connectorPropertyEClass, ConnectorProperty.class, "ConnectorProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getConnectorProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, ConnectorProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getConnectorProperty_Connector(), theUMLPackage.getConnector(), null, "connector", null, 1, 1, ConnectorProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(bindingConnectorEClass, BindingConnector.class, "BindingConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getBindingConnector_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, BindingConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(propertySpecificTypeEClass, PropertySpecificType.class, "PropertySpecificType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getPropertySpecificType_Base_Classifier(), theUMLPackage.getClassifier(), null, "base_Classifier", null, 1, 1, PropertySpecificType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				!IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} // BlocksPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ConnectorPropertyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ConnectorPropertyImpl.java
new file mode 100644
index 0000000..434fb51
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ConnectorPropertyImpl.java
@@ -0,0 +1,234 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Connector Property</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ConnectorPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ConnectorPropertyImpl#getConnector <em>Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConnectorPropertyImpl extends MinimalEObjectImpl.Container implements ConnectorProperty {
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * The cached value of the '{@link #getConnector() <em>Connector</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getConnector()
+	 * @generated
+	 * @ordered
+	 */
+	protected Connector connector;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ConnectorPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Connector basicGetConnector() {
+		return connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.CONNECTOR_PROPERTY__BASE_PROPERTY:
+			if (resolve) {
+				return getBase_Property();
+			}
+			return basicGetBase_Property();
+		case BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR:
+			if (resolve) {
+				return getConnector();
+			}
+			return basicGetConnector();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.CONNECTOR_PROPERTY__BASE_PROPERTY:
+			return base_Property != null;
+		case BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR:
+			return connector != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.CONNECTOR_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) newValue);
+			return;
+		case BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR:
+			setConnector((Connector) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.CONNECTOR_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.CONNECTOR_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) null);
+			return;
+		case BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR:
+			setConnector((Connector) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject) base_Property;
+			base_Property = (Property) eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.CONNECTOR_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+				}
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Connector getConnector() {
+		if (connector != null && connector.eIsProxy()) {
+			InternalEObject oldConnector = (InternalEObject) connector;
+			connector = (Connector) eResolveProxy(oldConnector);
+			if (connector != oldConnector) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR, oldConnector, connector));
+				}
+			}
+		}
+		return connector;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.CONNECTOR_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setConnector(Connector newConnector) {
+		Connector oldConnector = connector;
+		connector = newConnector;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.CONNECTOR_PROPERTY__CONNECTOR, oldConnector, connector));
+		}
+	}
+
+} // ConnectorPropertyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/DimensionImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/DimensionImpl.java
new file mode 100644
index 0000000..b03c765
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/DimensionImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Dimension</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.DimensionImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DimensionImpl extends MinimalEObjectImpl.Container implements Dimension {
+
+	/**
+	 * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification base_InstanceSpecification;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DimensionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InstanceSpecification basicGetBase_InstanceSpecification() {
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.DIMENSION__BASE_INSTANCE_SPECIFICATION:
+			if (resolve) {
+				return getBase_InstanceSpecification();
+			}
+			return basicGetBase_InstanceSpecification();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.DIMENSION__BASE_INSTANCE_SPECIFICATION:
+			return base_InstanceSpecification != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.DIMENSION__BASE_INSTANCE_SPECIFICATION:
+			setBase_InstanceSpecification((InstanceSpecification) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.DIMENSION;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.DIMENSION__BASE_INSTANCE_SPECIFICATION:
+			setBase_InstanceSpecification((InstanceSpecification) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InstanceSpecification getBase_InstanceSpecification() {
+		if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+			InternalEObject oldBase_InstanceSpecification = (InternalEObject) base_InstanceSpecification;
+			base_InstanceSpecification = (InstanceSpecification) eResolveProxy(oldBase_InstanceSpecification);
+			if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.DIMENSION__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+				}
+			}
+		}
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+		InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+		base_InstanceSpecification = newBase_InstanceSpecification;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.DIMENSION__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+		}
+	}
+
+} // DimensionImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/DistributedPropertyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/DistributedPropertyImpl.java
new file mode 100644
index 0000000..e77e12b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/DistributedPropertyImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.DistributedProperty;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Distributed Property</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.DistributedPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DistributedPropertyImpl extends MinimalEObjectImpl.Container implements DistributedProperty {
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DistributedPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY:
+			if (resolve) {
+				return getBase_Property();
+			}
+			return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY:
+			return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.DISTRIBUTED_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject) base_Property;
+			base_Property = (Property) eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+				}
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.DISTRIBUTED_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+		}
+	}
+
+} // DistributedPropertyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/NestedConnectorEndImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/NestedConnectorEndImpl.java
new file mode 100644
index 0000000..cd26e23
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/NestedConnectorEndImpl.java
@@ -0,0 +1,243 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Nested Connector End</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.NestedConnectorEndImpl#getPropertyPath <em>Property Path</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.NestedConnectorEndImpl#getBase_ConnectorEnd <em>Base Connector End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NestedConnectorEndImpl extends MinimalEObjectImpl.Container implements NestedConnectorEnd {
+
+	/**
+	 * The cached value of the '{@link #getPropertyPath() <em>Property Path</em>}' reference list.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getPropertyPath()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Property> propertyPath;
+
+	/**
+	 * The cached value of the '{@link #getBase_ConnectorEnd() <em>Base Connector End</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_ConnectorEnd()
+	 * @generated
+	 * @ordered
+	 */
+	protected ConnectorEnd base_ConnectorEnd;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected NestedConnectorEndImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConnectorEnd basicGetBase_ConnectorEnd() {
+		return base_ConnectorEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.NESTED_CONNECTOR_END__PROPERTY_PATH:
+			return getPropertyPath();
+		case BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END:
+			if (resolve) {
+				return getBase_ConnectorEnd();
+			}
+			return basicGetBase_ConnectorEnd();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.NESTED_CONNECTOR_END__PROPERTY_PATH:
+			return propertyPath != null && !propertyPath.isEmpty();
+		case BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END:
+			return base_ConnectorEnd != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.NESTED_CONNECTOR_END__PROPERTY_PATH:
+			getPropertyPath().clear();
+			getPropertyPath().addAll((Collection<? extends Property>) newValue);
+			return;
+		case BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END:
+			setBase_ConnectorEnd((ConnectorEnd) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.NESTED_CONNECTOR_END;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.NESTED_CONNECTOR_END__PROPERTY_PATH:
+			getPropertyPath().clear();
+			return;
+		case BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END:
+			setBase_ConnectorEnd((ConnectorEnd) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConnectorEnd getBase_ConnectorEnd() {
+		if (base_ConnectorEnd != null && base_ConnectorEnd.eIsProxy()) {
+			InternalEObject oldBase_ConnectorEnd = (InternalEObject) base_ConnectorEnd;
+			base_ConnectorEnd = (ConnectorEnd) eResolveProxy(oldBase_ConnectorEnd);
+			if (base_ConnectorEnd != oldBase_ConnectorEnd) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END, oldBase_ConnectorEnd, base_ConnectorEnd));
+				}
+			}
+		}
+		return base_ConnectorEnd;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<Property> getPropertyPath() {
+		if (propertyPath == null) {
+			propertyPath = new EObjectResolvingEList<Property>(Property.class, this, BlocksPackage.NESTED_CONNECTOR_END__PROPERTY_PATH);
+		}
+		return propertyPath;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getPropertyPath(String name, Type type) {
+		return getPropertyPath(name, type, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getPropertyPath(String name, Type type, boolean ignoreCase, EClass eClass) {
+		propertyPathLoop: for (Property propertyPath : getPropertyPath()) {
+			if (eClass != null && !eClass.isInstance(propertyPath)) {
+				continue propertyPathLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(propertyPath.getName()) : name.equals(propertyPath.getName()))) {
+				continue propertyPathLoop;
+			}
+			if (type != null && !type.equals(propertyPath.getType())) {
+				continue propertyPathLoop;
+			}
+			return propertyPath;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_ConnectorEnd(ConnectorEnd newBase_ConnectorEnd) {
+		ConnectorEnd oldBase_ConnectorEnd = base_ConnectorEnd;
+		base_ConnectorEnd = newBase_ConnectorEnd;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.NESTED_CONNECTOR_END__BASE_CONNECTOR_END, oldBase_ConnectorEnd, base_ConnectorEnd));
+		}
+	}
+
+} // NestedConnectorEndImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ParticipantPropertyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ParticipantPropertyImpl.java
new file mode 100644
index 0000000..656eb54
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ParticipantPropertyImpl.java
@@ -0,0 +1,233 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Participant Property</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ParticipantPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ParticipantPropertyImpl#getEnd <em>End</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ParticipantPropertyImpl extends MinimalEObjectImpl.Container implements ParticipantProperty {
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * The cached value of the '{@link #getEnd() <em>End</em>}' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getEnd()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property end;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ParticipantPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetEnd() {
+		return end;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.PARTICIPANT_PROPERTY__BASE_PROPERTY:
+			if (resolve) {
+				return getBase_Property();
+			}
+			return basicGetBase_Property();
+		case BlocksPackage.PARTICIPANT_PROPERTY__END:
+			if (resolve) {
+				return getEnd();
+			}
+			return basicGetEnd();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.PARTICIPANT_PROPERTY__BASE_PROPERTY:
+			return base_Property != null;
+		case BlocksPackage.PARTICIPANT_PROPERTY__END:
+			return end != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.PARTICIPANT_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) newValue);
+			return;
+		case BlocksPackage.PARTICIPANT_PROPERTY__END:
+			setEnd((Property) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.PARTICIPANT_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.PARTICIPANT_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) null);
+			return;
+		case BlocksPackage.PARTICIPANT_PROPERTY__END:
+			setEnd((Property) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject) base_Property;
+			base_Property = (Property) eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.PARTICIPANT_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+				}
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getEnd() {
+		if (end != null && end.eIsProxy()) {
+			InternalEObject oldEnd = (InternalEObject) end;
+			end = (Property) eResolveProxy(oldEnd);
+			if (end != oldEnd) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.PARTICIPANT_PROPERTY__END, oldEnd, end));
+				}
+			}
+		}
+		return end;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.PARTICIPANT_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setEnd(Property newEnd) {
+		Property oldEnd = end;
+		end = newEnd;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.PARTICIPANT_PROPERTY__END, oldEnd, end));
+		}
+	}
+
+} // ParticipantPropertyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/PropertySpecificTypeImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/PropertySpecificTypeImpl.java
new file mode 100644
index 0000000..63e6bd2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/PropertySpecificTypeImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.PropertySpecificType;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Property Specific Type</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.PropertySpecificTypeImpl#getBase_Classifier <em>Base Classifier</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PropertySpecificTypeImpl extends MinimalEObjectImpl.Container implements PropertySpecificType {
+
+	/**
+	 * The cached value of the '{@link #getBase_Classifier() <em>Base Classifier</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Classifier()
+	 * @generated
+	 * @ordered
+	 */
+	protected Classifier base_Classifier;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected PropertySpecificTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Classifier basicGetBase_Classifier() {
+		return base_Classifier;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER:
+			if (resolve) {
+				return getBase_Classifier();
+			}
+			return basicGetBase_Classifier();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER:
+			return base_Classifier != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER:
+			setBase_Classifier((Classifier) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.PROPERTY_SPECIFIC_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER:
+			setBase_Classifier((Classifier) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Classifier getBase_Classifier() {
+		if (base_Classifier != null && base_Classifier.eIsProxy()) {
+			InternalEObject oldBase_Classifier = (InternalEObject) base_Classifier;
+			base_Classifier = (Classifier) eResolveProxy(oldBase_Classifier);
+			if (base_Classifier != oldBase_Classifier) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER, oldBase_Classifier, base_Classifier));
+				}
+			}
+		}
+		return base_Classifier;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Classifier(Classifier newBase_Classifier) {
+		Classifier oldBase_Classifier = base_Classifier;
+		base_Classifier = newBase_Classifier;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER, oldBase_Classifier, base_Classifier));
+		}
+	}
+
+} // PropertySpecificTypeImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/UnitImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/UnitImpl.java
new file mode 100644
index 0000000..45e5c1a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/UnitImpl.java
@@ -0,0 +1,234 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.papyrus.sysml.blocks.Unit;
+import org.eclipse.uml2.uml.InstanceSpecification;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Unit</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.UnitImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.UnitImpl#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnitImpl extends MinimalEObjectImpl.Container implements Unit {
+
+	/**
+	 * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getBase_InstanceSpecification()
+	 * @generated
+	 * @ordered
+	 */
+	protected InstanceSpecification base_InstanceSpecification;
+
+	/**
+	 * The cached value of the '{@link #getDimension() <em>Dimension</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getDimension()
+	 * @generated
+	 * @ordered
+	 */
+	protected Dimension dimension;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected UnitImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InstanceSpecification basicGetBase_InstanceSpecification() {
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dimension basicGetDimension() {
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.UNIT__BASE_INSTANCE_SPECIFICATION:
+			if (resolve) {
+				return getBase_InstanceSpecification();
+			}
+			return basicGetBase_InstanceSpecification();
+		case BlocksPackage.UNIT__DIMENSION:
+			if (resolve) {
+				return getDimension();
+			}
+			return basicGetDimension();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.UNIT__BASE_INSTANCE_SPECIFICATION:
+			return base_InstanceSpecification != null;
+		case BlocksPackage.UNIT__DIMENSION:
+			return dimension != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.UNIT__BASE_INSTANCE_SPECIFICATION:
+			setBase_InstanceSpecification((InstanceSpecification) newValue);
+			return;
+		case BlocksPackage.UNIT__DIMENSION:
+			setDimension((Dimension) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.UNIT;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.UNIT__BASE_INSTANCE_SPECIFICATION:
+			setBase_InstanceSpecification((InstanceSpecification) null);
+			return;
+		case BlocksPackage.UNIT__DIMENSION:
+			setDimension((Dimension) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InstanceSpecification getBase_InstanceSpecification() {
+		if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+			InternalEObject oldBase_InstanceSpecification = (InternalEObject) base_InstanceSpecification;
+			base_InstanceSpecification = (InstanceSpecification) eResolveProxy(oldBase_InstanceSpecification);
+			if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.UNIT__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+				}
+			}
+		}
+		return base_InstanceSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dimension getDimension() {
+		if (dimension != null && dimension.eIsProxy()) {
+			InternalEObject oldDimension = (InternalEObject) dimension;
+			dimension = (Dimension) eResolveProxy(oldDimension);
+			if (dimension != oldDimension) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.UNIT__DIMENSION, oldDimension, dimension));
+				}
+			}
+		}
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+		InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+		base_InstanceSpecification = newBase_InstanceSpecification;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.UNIT__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setDimension(Dimension newDimension) {
+		Dimension oldDimension = dimension;
+		dimension = newDimension;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.UNIT__DIMENSION, oldDimension, dimension));
+		}
+	}
+
+} // UnitImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ValueTypeImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ValueTypeImpl.java
new file mode 100644
index 0000000..bb4dd11
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/internal/impl/ValueTypeImpl.java
@@ -0,0 +1,299 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.papyrus.sysml.blocks.Unit;
+import org.eclipse.papyrus.sysml.blocks.ValueType;
+import org.eclipse.uml2.uml.DataType;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Value Type</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl#getUnit <em>Unit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.blocks.internal.impl.ValueTypeImpl#getDimension <em>Dimension</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ValueTypeImpl extends MinimalEObjectImpl.Container implements ValueType {
+
+	/**
+	 * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_DataType()
+	 * @generated
+	 * @ordered
+	 */
+	protected DataType base_DataType;
+
+	/**
+	 * The cached value of the '{@link #getUnit() <em>Unit</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getUnit()
+	 * @generated
+	 * @ordered
+	 */
+	protected Unit unit;
+
+	/**
+	 * The cached value of the '{@link #getDimension() <em>Dimension</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getDimension()
+	 * @generated
+	 * @ordered
+	 */
+	protected Dimension dimension;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ValueTypeImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DataType basicGetBase_DataType() {
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dimension basicGetDimension() {
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Unit basicGetUnit() {
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case BlocksPackage.VALUE_TYPE__BASE_DATA_TYPE:
+			if (resolve) {
+				return getBase_DataType();
+			}
+			return basicGetBase_DataType();
+		case BlocksPackage.VALUE_TYPE__UNIT:
+			if (resolve) {
+				return getUnit();
+			}
+			return basicGetUnit();
+		case BlocksPackage.VALUE_TYPE__DIMENSION:
+			if (resolve) {
+				return getDimension();
+			}
+			return basicGetDimension();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.VALUE_TYPE__BASE_DATA_TYPE:
+			return base_DataType != null;
+		case BlocksPackage.VALUE_TYPE__UNIT:
+			return unit != null;
+		case BlocksPackage.VALUE_TYPE__DIMENSION:
+			return dimension != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case BlocksPackage.VALUE_TYPE__BASE_DATA_TYPE:
+			setBase_DataType((DataType) newValue);
+			return;
+		case BlocksPackage.VALUE_TYPE__UNIT:
+			setUnit((Unit) newValue);
+			return;
+		case BlocksPackage.VALUE_TYPE__DIMENSION:
+			setDimension((Dimension) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return BlocksPackage.Literals.VALUE_TYPE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case BlocksPackage.VALUE_TYPE__BASE_DATA_TYPE:
+			setBase_DataType((DataType) null);
+			return;
+		case BlocksPackage.VALUE_TYPE__UNIT:
+			setUnit((Unit) null);
+			return;
+		case BlocksPackage.VALUE_TYPE__DIMENSION:
+			setDimension((Dimension) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DataType getBase_DataType() {
+		if (base_DataType != null && base_DataType.eIsProxy()) {
+			InternalEObject oldBase_DataType = (InternalEObject) base_DataType;
+			base_DataType = (DataType) eResolveProxy(oldBase_DataType);
+			if (base_DataType != oldBase_DataType) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.VALUE_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+				}
+			}
+		}
+		return base_DataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dimension getDimension() {
+		if (dimension != null && dimension.eIsProxy()) {
+			InternalEObject oldDimension = (InternalEObject) dimension;
+			dimension = (Dimension) eResolveProxy(oldDimension);
+			if (dimension != oldDimension) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.VALUE_TYPE__DIMENSION, oldDimension, dimension));
+				}
+			}
+		}
+		return dimension;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Unit getUnit() {
+		if (unit != null && unit.eIsProxy()) {
+			InternalEObject oldUnit = (InternalEObject) unit;
+			unit = (Unit) eResolveProxy(oldUnit);
+			if (unit != oldUnit) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BlocksPackage.VALUE_TYPE__UNIT, oldUnit, unit));
+				}
+			}
+		}
+		return unit;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_DataType(DataType newBase_DataType) {
+		DataType oldBase_DataType = base_DataType;
+		base_DataType = newBase_DataType;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.VALUE_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setDimension(Dimension newDimension) {
+		Dimension oldDimension = dimension;
+		dimension = newDimension;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.VALUE_TYPE__DIMENSION, oldDimension, dimension));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setUnit(Unit newUnit) {
+		Unit oldUnit = unit;
+		unit = newUnit;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, BlocksPackage.VALUE_TYPE__UNIT, oldUnit, unit));
+		}
+	}
+
+} // ValueTypeImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksAdapterFactory.java
new file mode 100644
index 0000000..6cd3b28
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksAdapterFactory.java
@@ -0,0 +1,320 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.papyrus.sysml.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml.blocks.PropertySpecificType;
+import org.eclipse.papyrus.sysml.blocks.Unit;
+import org.eclipse.papyrus.sysml.blocks.ValueType;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage
+ * @generated
+ */
+public class BlocksAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static BlocksPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected BlocksSwitch<Adapter> modelSwitch = new BlocksSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseBlock(Block object) {
+			return createBlockAdapter();
+		}
+
+		@Override
+		public Adapter caseDistributedProperty(DistributedProperty object) {
+			return createDistributedPropertyAdapter();
+		}
+
+		@Override
+		public Adapter caseDimension(Dimension object) {
+			return createDimensionAdapter();
+		}
+
+		@Override
+		public Adapter caseUnit(Unit object) {
+			return createUnitAdapter();
+		}
+
+		@Override
+		public Adapter caseValueType(ValueType object) {
+			return createValueTypeAdapter();
+		}
+
+		@Override
+		public Adapter caseNestedConnectorEnd(NestedConnectorEnd object) {
+			return createNestedConnectorEndAdapter();
+		}
+
+		@Override
+		public Adapter caseParticipantProperty(ParticipantProperty object) {
+			return createParticipantPropertyAdapter();
+		}
+
+		@Override
+		public Adapter caseConnectorProperty(ConnectorProperty object) {
+			return createConnectorPropertyAdapter();
+		}
+
+		@Override
+		public Adapter caseBindingConnector(BindingConnector object) {
+			return createBindingConnectorAdapter();
+		}
+
+		@Override
+		public Adapter casePropertySpecificType(PropertySpecificType object) {
+			return createPropertySpecificTypeAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = BlocksPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.BindingConnector <em>Binding Connector</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.BindingConnector
+	 * @generated
+	 */
+	public Adapter createBindingConnectorAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.blocks.Block <em>Block</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.Block
+	 * @generated
+	 */
+	public Adapter createBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.ConnectorProperty <em>Connector Property</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.ConnectorProperty
+	 * @generated
+	 */
+	public Adapter createConnectorPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.Dimension <em>Dimension</em>}'.
+	 * <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.Dimension
+	 * @generated
+	 */
+	public Adapter createDimensionAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.DistributedProperty <em>Distributed Property</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.DistributedProperty
+	 * @generated
+	 */
+	public Adapter createDistributedPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd <em>Nested Connector End</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd
+	 * @generated
+	 */
+	public Adapter createNestedConnectorEndAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.ParticipantProperty <em>Participant Property</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.ParticipantProperty
+	 * @generated
+	 */
+	public Adapter createParticipantPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.PropertySpecificType <em>Property Specific Type</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.PropertySpecificType
+	 * @generated
+	 */
+	public Adapter createPropertySpecificTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.blocks.Unit <em>Unit</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.Unit
+	 * @generated
+	 */
+	public Adapter createUnitAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.blocks.ValueType <em>Value Type</em>}'.
+	 * <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.ValueType
+	 * @generated
+	 */
+	public Adapter createValueTypeAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // BlocksAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksResourceFactoryImpl.java
new file mode 100644
index 0000000..02c908d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.util.BlocksResourceImpl
+ * @generated
+ */
+public class BlocksResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new BlocksResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // BlocksResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksResourceImpl.java
new file mode 100644
index 0000000..eac79ee
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.util.BlocksResourceFactoryImpl
+ * @generated
+ */
+public class BlocksResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public BlocksResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // BlocksResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksSwitch.java
new file mode 100644
index 0000000..f6cca8c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksSwitch.java
@@ -0,0 +1,349 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.blocks.BindingConnector;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.ConnectorProperty;
+import org.eclipse.papyrus.sysml.blocks.Dimension;
+import org.eclipse.papyrus.sysml.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml.blocks.ParticipantProperty;
+import org.eclipse.papyrus.sysml.blocks.PropertySpecificType;
+import org.eclipse.papyrus.sysml.blocks.Unit;
+import org.eclipse.papyrus.sysml.blocks.ValueType;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.blocks.BlocksPackage
+ * @generated
+ */
+public class BlocksSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static BlocksPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksSwitch() {
+		if (modelPackage == null) {
+			modelPackage = BlocksPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Binding Connector</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Binding Connector</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBindingConnector(BindingConnector object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Block</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Block</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBlock(Block object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Connector Property</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Connector Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConnectorProperty(ConnectorProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Dimension</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Dimension</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDimension(Dimension object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Distributed Property</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Distributed Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDistributedProperty(DistributedProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Nested Connector End</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Nested Connector End</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseNestedConnectorEnd(NestedConnectorEnd object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Participant Property</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Participant Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseParticipantProperty(ParticipantProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Property Specific Type</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Property Specific Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T casePropertySpecificType(PropertySpecificType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of ' <em>Unit</em>'. <!-- begin-user-doc --> This implementation returns null;
+	 * returning a non-null result will terminate the switch. <!-- end-user-doc
+	 * -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of ' <em>Unit</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseUnit(Unit object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Value Type</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Value Type</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseValueType(ValueType object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case BlocksPackage.BLOCK: {
+			Block block = (Block) theEObject;
+			T result = caseBlock(block);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.DISTRIBUTED_PROPERTY: {
+			DistributedProperty distributedProperty = (DistributedProperty) theEObject;
+			T result = caseDistributedProperty(distributedProperty);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.DIMENSION: {
+			Dimension dimension = (Dimension) theEObject;
+			T result = caseDimension(dimension);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.UNIT: {
+			Unit unit = (Unit) theEObject;
+			T result = caseUnit(unit);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.VALUE_TYPE: {
+			ValueType valueType = (ValueType) theEObject;
+			T result = caseValueType(valueType);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.NESTED_CONNECTOR_END: {
+			NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) theEObject;
+			T result = caseNestedConnectorEnd(nestedConnectorEnd);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.PARTICIPANT_PROPERTY: {
+			ParticipantProperty participantProperty = (ParticipantProperty) theEObject;
+			T result = caseParticipantProperty(participantProperty);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.CONNECTOR_PROPERTY: {
+			ConnectorProperty connectorProperty = (ConnectorProperty) theEObject;
+			T result = caseConnectorProperty(connectorProperty);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.BINDING_CONNECTOR: {
+			BindingConnector bindingConnector = (BindingConnector) theEObject;
+			T result = caseBindingConnector(bindingConnector);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case BlocksPackage.PROPERTY_SPECIFIC_TYPE: {
+			PropertySpecificType propertySpecificType = (PropertySpecificType) theEObject;
+			T result = casePropertySpecificType(propertySpecificType);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+} // BlocksSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksXMLProcessor.java
new file mode 100644
index 0000000..b961101
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/blocks/util/BlocksXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.blocks.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class BlocksXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public BlocksXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		BlocksPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the BlocksResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new BlocksResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new BlocksResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // BlocksXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintBlock.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintBlock.java
new file mode 100644
index 0000000..de75dea
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintBlock.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints;
+
+import org.eclipse.papyrus.sysml.blocks.Block;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Constraint Block</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage#getConstraintBlock()
+ * @model
+ * @generated
+ */
+public interface ConstraintBlock extends Block {
+} // ConstraintBlock
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintProperty.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintProperty.java
new file mode 100644
index 0000000..c61e9a5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintProperty.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Constraint Property</b></em> '. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.constraints.ConstraintProperty#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage#getConstraintProperty()
+ * @model
+ * @generated
+ */
+public interface ConstraintProperty extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage#getConstraintProperty_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.constraints.ConstraintProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+} // ConstraintProperty
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintsFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintsFactory.java
new file mode 100644
index 0000000..eb29bac
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintsFactory.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage
+ * @generated
+ */
+public interface ConstraintsFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	ConstraintsFactory eINSTANCE = org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Constraint Block</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Constraint Block</em>'.
+	 * @generated
+	 */
+	ConstraintBlock createConstraintBlock();
+
+	/**
+	 * Returns a new object of class '<em>Constraint Property</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Constraint Property</em>'.
+	 * @generated
+	 */
+	ConstraintProperty createConstraintProperty();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ConstraintsPackage getConstraintsPackage();
+
+} // ConstraintsFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintsPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintsPackage.java
new file mode 100644
index 0000000..804685b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/ConstraintsPackage.java
@@ -0,0 +1,251 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.ConstraintsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ConstraintsPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintBlockImpl <em>Constraint Block</em>}'
+		 * class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintBlockImpl
+		 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl#getConstraintBlock()
+		 * @generated
+		 */
+		EClass CONSTRAINT_BLOCK = eINSTANCE.getConstraintBlock();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintPropertyImpl
+		 * <em>Constraint Property</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintPropertyImpl
+		 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl#getConstraintProperty()
+		 * @generated
+		 */
+		EClass CONSTRAINT_PROPERTY = eINSTANCE.getConstraintProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONSTRAINT_PROPERTY__BASE_PROPERTY = eINSTANCE.getConstraintProperty_Base_Property();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "constraints";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "Constraints";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	ConstraintsPackage eINSTANCE = org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintBlockImpl <em>Constraint Block</em>}' class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintBlockImpl
+	 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl#getConstraintBlock()
+	 * @generated
+	 */
+	int CONSTRAINT_BLOCK = 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Encapsulated</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK__IS_ENCAPSULATED = BlocksPackage.BLOCK__IS_ENCAPSULATED;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK__BASE_CLASS = BlocksPackage.BLOCK__BASE_CLASS;
+
+	/**
+	 * The number of structural features of the '<em>Constraint Block</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK_FEATURE_COUNT = BlocksPackage.BLOCK_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Constraint Block</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_BLOCK_OPERATION_COUNT = BlocksPackage.BLOCK_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintPropertyImpl <em>Constraint Property</em>}'
+	 * class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintPropertyImpl
+	 * @see org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl#getConstraintProperty()
+	 * @generated
+	 */
+	int CONSTRAINT_PROPERTY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Constraint Property</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_PROPERTY_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Constraint Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_PROPERTY_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.constraints.ConstraintBlock
+	 * <em>Constraint Block</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for class '<em>Constraint Block</em>'.
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintBlock
+	 * @generated
+	 */
+	EClass getConstraintBlock();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.constraints.ConstraintProperty <em>Constraint Property</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Constraint Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintProperty
+	 * @generated
+	 */
+	EClass getConstraintProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.constraints.ConstraintProperty#getBase_Property
+	 * <em>Base Property</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintProperty#getBase_Property()
+	 * @see #getConstraintProperty()
+	 * @generated
+	 */
+	EReference getConstraintProperty_Base_Property();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ConstraintsFactory getConstraintsFactory();
+
+} // ConstraintsPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintBlockImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintBlockImpl.java
new file mode 100644
index 0000000..4b2251b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintBlockImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlockImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintBlock;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Constraint Block</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ConstraintBlockImpl extends BlockImpl implements ConstraintBlock {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ConstraintBlockImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ConstraintsPackage.Literals.CONSTRAINT_BLOCK;
+	}
+
+} // ConstraintBlockImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintPropertyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintPropertyImpl.java
new file mode 100644
index 0000000..6cc11d1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintPropertyImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintProperty;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Constraint Property</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConstraintPropertyImpl extends MinimalEObjectImpl.Container implements ConstraintProperty {
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ConstraintPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ConstraintsPackage.CONSTRAINT_PROPERTY__BASE_PROPERTY:
+			if (resolve) {
+				return getBase_Property();
+			}
+			return basicGetBase_Property();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ConstraintsPackage.CONSTRAINT_PROPERTY__BASE_PROPERTY:
+			return base_Property != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ConstraintsPackage.CONSTRAINT_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ConstraintsPackage.Literals.CONSTRAINT_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ConstraintsPackage.CONSTRAINT_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject) base_Property;
+			base_Property = (Property) eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ConstraintsPackage.CONSTRAINT_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+				}
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ConstraintsPackage.CONSTRAINT_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+		}
+	}
+
+} // ConstraintPropertyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintsFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintsFactoryImpl.java
new file mode 100644
index 0000000..59f8c99
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintsFactoryImpl.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.constraints.ConstraintBlock;
+import org.eclipse.papyrus.sysml.constraints.ConstraintProperty;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsFactory;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ConstraintsFactoryImpl extends EFactoryImpl implements ConstraintsFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ConstraintsPackage getPackage() {
+		return ConstraintsPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static ConstraintsFactory init() {
+		try {
+			ConstraintsFactory theConstraintsFactory = (ConstraintsFactory) EPackage.Registry.INSTANCE.getEFactory(ConstraintsPackage.eNS_URI);
+			if (theConstraintsFactory != null) {
+				return theConstraintsFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ConstraintsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case ConstraintsPackage.CONSTRAINT_BLOCK:
+			return createConstraintBlock();
+		case ConstraintsPackage.CONSTRAINT_PROPERTY:
+			return createConstraintProperty();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintBlock createConstraintBlock() {
+		ConstraintBlockImpl constraintBlock = new ConstraintBlockImpl();
+		return constraintBlock;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintProperty createConstraintProperty() {
+		ConstraintPropertyImpl constraintProperty = new ConstraintPropertyImpl();
+		return constraintProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsPackage getConstraintsPackage() {
+		return (ConstraintsPackage) getEPackage();
+	}
+
+} // ConstraintsFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintsPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintsPackageImpl.java
new file mode 100644
index 0000000..9d6f6d5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/internal/impl/ConstraintsPackageImpl.java
@@ -0,0 +1,279 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintBlock;
+import org.eclipse.papyrus.sysml.constraints.ConstraintProperty;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsFactory;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ConstraintsPackageImpl extends EPackageImpl implements ConstraintsPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link ConstraintsPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ConstraintsPackage init() {
+		if (isInited) {
+			return (ConstraintsPackage) EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ConstraintsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theConstraintsPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theConstraintsPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theConstraintsPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ConstraintsPackage.eNS_URI, theConstraintsPackage);
+		return theConstraintsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass constraintBlockEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass constraintPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ConstraintsPackageImpl() {
+		super(eNS_URI, ConstraintsFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		constraintBlockEClass = createEClass(CONSTRAINT_BLOCK);
+
+		constraintPropertyEClass = createEClass(CONSTRAINT_PROPERTY);
+		createEReference(constraintPropertyEClass, CONSTRAINT_PROPERTY__BASE_PROPERTY);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getConstraintBlock() {
+		return constraintBlockEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getConstraintProperty() {
+		return constraintPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getConstraintProperty_Base_Property() {
+		return (EReference) constraintPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsFactory getConstraintsFactory() {
+		return (ConstraintsFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		BlocksPackage theBlocksPackage = (BlocksPackage) EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		constraintBlockEClass.getESuperTypes().add(theBlocksPackage.getBlock());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(constraintBlockEClass, ConstraintBlock.class, "ConstraintBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(constraintPropertyEClass, ConstraintProperty.class, "ConstraintProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getConstraintProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, ConstraintProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+	}
+
+} // ConstraintsPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsAdapterFactory.java
new file mode 100644
index 0000000..864c802
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsAdapterFactory.java
@@ -0,0 +1,176 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.constraints.ConstraintBlock;
+import org.eclipse.papyrus.sysml.constraints.ConstraintProperty;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage
+ * @generated
+ */
+public class ConstraintsAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static ConstraintsPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ConstraintsSwitch<Adapter> modelSwitch = new ConstraintsSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseConstraintBlock(ConstraintBlock object) {
+			return createConstraintBlockAdapter();
+		}
+
+		@Override
+		public Adapter caseConstraintProperty(ConstraintProperty object) {
+			return createConstraintPropertyAdapter();
+		}
+
+		@Override
+		public Adapter caseBlock(Block object) {
+			return createBlockAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ConstraintsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.blocks.Block <em>Block</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.blocks.Block
+	 * @generated
+	 */
+	public Adapter createBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.constraints.ConstraintBlock <em>Constraint Block</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintBlock
+	 * @generated
+	 */
+	public Adapter createConstraintBlockAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.constraints.ConstraintProperty <em>Constraint Property</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.constraints.ConstraintProperty
+	 * @generated
+	 */
+	public Adapter createConstraintPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // ConstraintsAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsResourceFactoryImpl.java
new file mode 100644
index 0000000..89fd8be
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.util.ConstraintsResourceImpl
+ * @generated
+ */
+public class ConstraintsResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new ConstraintsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // ConstraintsResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsResourceImpl.java
new file mode 100644
index 0000000..deaeea3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.util.ConstraintsResourceFactoryImpl
+ * @generated
+ */
+public class ConstraintsResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public ConstraintsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // ConstraintsResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsSwitch.java
new file mode 100644
index 0000000..50ae3c1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsSwitch.java
@@ -0,0 +1,170 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.blocks.Block;
+import org.eclipse.papyrus.sysml.constraints.ConstraintBlock;
+import org.eclipse.papyrus.sysml.constraints.ConstraintProperty;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.constraints.ConstraintsPackage
+ * @generated
+ */
+public class ConstraintsSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static ConstraintsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ConstraintsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Block</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Block</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseBlock(Block object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Constraint Block</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Constraint Block</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConstraintBlock(ConstraintBlock object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Constraint Property</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Constraint Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConstraintProperty(ConstraintProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case ConstraintsPackage.CONSTRAINT_BLOCK: {
+			ConstraintBlock constraintBlock = (ConstraintBlock) theEObject;
+			T result = caseConstraintBlock(constraintBlock);
+			if (result == null) {
+				result = caseBlock(constraintBlock);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ConstraintsPackage.CONSTRAINT_PROPERTY: {
+			ConstraintProperty constraintProperty = (ConstraintProperty) theEObject;
+			T result = caseConstraintProperty(constraintProperty);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+} // ConstraintsSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsXMLProcessor.java
new file mode 100644
index 0000000..b265558
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/constraints/util/ConstraintsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.constraints.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConstraintsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ConstraintsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		ConstraintsPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the ConstraintsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new ConstraintsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new ConstraintsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // ConstraintsXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/InteractionsFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/InteractionsFactory.java
new file mode 100644
index 0000000..72bce8c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/InteractionsFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.interactions.InteractionsPackage
+ * @generated
+ */
+public interface InteractionsFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	InteractionsFactory eINSTANCE = org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsFactoryImpl.init();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	InteractionsPackage getInteractionsPackage();
+
+} // InteractionsFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/InteractionsPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/InteractionsPackage.java
new file mode 100644
index 0000000..d96e6ef
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/InteractionsPackage.java
@@ -0,0 +1,126 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.interactions.InteractionsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface InteractionsPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '<em>Dummy</em>' data type. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see java.lang.String
+		 * @see org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl#getDummy()
+		 * @generated
+		 */
+		EDataType DUMMY = eINSTANCE.getDummy();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "interactions";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/Interactions";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "Interactions";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	InteractionsPackage eINSTANCE = org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '<em>Dummy</em>' data type. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see java.lang.String
+	 * @see org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl#getDummy()
+	 * @generated
+	 */
+	int DUMMY = 0;
+
+	/**
+	 * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for data type '<em>Dummy</em>'.
+	 * @see java.lang.String
+	 * @model instanceClass="java.lang.String"
+	 * @generated
+	 */
+	EDataType getDummy();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	InteractionsFactory getInteractionsFactory();
+
+} // InteractionsPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/internal/impl/InteractionsFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/internal/impl/InteractionsFactoryImpl.java
new file mode 100644
index 0000000..eab3174
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/internal/impl/InteractionsFactoryImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.interactions.InteractionsFactory;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class InteractionsFactoryImpl extends EFactoryImpl implements InteractionsFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static InteractionsPackage getPackage() {
+		return InteractionsPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static InteractionsFactory init() {
+		try {
+			InteractionsFactory theInteractionsFactory = (InteractionsFactory) EPackage.Registry.INSTANCE.getEFactory(InteractionsPackage.eNS_URI);
+			if (theInteractionsFactory != null) {
+				return theInteractionsFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new InteractionsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InteractionsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(eDataType, instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+		case InteractionsPackage.DUMMY:
+			return convertDummyToString(eDataType, instanceValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String createDummyFromString(EDataType eDataType, String initialValue) {
+		return (String) super.createFromString(eDataType, initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+		case InteractionsPackage.DUMMY:
+			return createDummyFromString(eDataType, initialValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InteractionsPackage getInteractionsPackage() {
+		return (InteractionsPackage) getEPackage();
+	}
+
+} // InteractionsFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/internal/impl/InteractionsPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/internal/impl/InteractionsPackageImpl.java
new file mode 100644
index 0000000..dc2e8ab
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/internal/impl/InteractionsPackageImpl.java
@@ -0,0 +1,233 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions.internal.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsFactory;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class InteractionsPackageImpl extends EPackageImpl implements InteractionsPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link InteractionsPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static InteractionsPackage init() {
+		if (isInited) {
+			return (InteractionsPackage) EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new InteractionsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theInteractionsPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theInteractionsPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theInteractionsPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(InteractionsPackage.eNS_URI, theInteractionsPackage);
+		return theInteractionsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EDataType dummyEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.interactions.InteractionsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private InteractionsPackageImpl() {
+		super(eNS_URI, InteractionsFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create data types
+		dummyEDataType = createEDataType(DUMMY);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EDataType getDummy() {
+		return dummyEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InteractionsFactory getInteractionsFactory() {
+		return (InteractionsFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Initialize data types
+		initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+	}
+
+} // InteractionsPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsResourceFactoryImpl.java
new file mode 100644
index 0000000..a21051c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsResourceFactoryImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.interactions.util.InteractionsResourceImpl
+ * @generated
+ */
+public class InteractionsResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InteractionsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		Resource result = new InteractionsResourceImpl(uri);
+		return result;
+	}
+
+} // InteractionsResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsResourceImpl.java
new file mode 100644
index 0000000..8f285e5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.interactions.util.InteractionsResourceFactoryImpl
+ * @generated
+ */
+public class InteractionsResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public InteractionsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // InteractionsResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsXMLProcessor.java
new file mode 100644
index 0000000..05e64f2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/interactions/util/InteractionsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.interactions.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class InteractionsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InteractionsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		InteractionsPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the InteractionsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new InteractionsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new InteractionsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // InteractionsXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/internal/impl/SysmlFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/internal/impl/SysmlFactoryImpl.java
new file mode 100644
index 0000000..fdf74db
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/internal/impl/SysmlFactoryImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.SysmlFactory;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class SysmlFactoryImpl extends EFactoryImpl implements SysmlFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static SysmlPackage getPackage() {
+		return SysmlPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static SysmlFactory init() {
+		try {
+			SysmlFactory theSysmlFactory = (SysmlFactory) EPackage.Registry.INSTANCE.getEFactory(SysmlPackage.eNS_URI);
+			if (theSysmlFactory != null) {
+				return theSysmlFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new SysmlFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public SysmlFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(eDataType, instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+		case SysmlPackage.DUMMY:
+			return convertDummyToString(eDataType, instanceValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String createDummyFromString(EDataType eDataType, String initialValue) {
+		return (String) super.createFromString(eDataType, initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+		case SysmlPackage.DUMMY:
+			return createDummyFromString(eDataType, initialValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public SysmlPackage getSysmlPackage() {
+		return (SysmlPackage) getEPackage();
+	}
+
+} // SysmlFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/internal/impl/SysmlPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/internal/impl/SysmlPackageImpl.java
new file mode 100644
index 0000000..8eec2b0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/internal/impl/SysmlPackageImpl.java
@@ -0,0 +1,260 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.internal.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlFactory;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class SysmlPackageImpl extends EPackageImpl implements SysmlPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link SysmlPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static SysmlPackage init() {
+		if (isInited) {
+			return (SysmlPackage) EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SysmlPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theSysmlPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(SysmlPackage.eNS_URI, theSysmlPackage);
+		return theSysmlPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EDataType dummyEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.SysmlPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private SysmlPackageImpl() {
+		super(eNS_URI, SysmlFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create data types
+		dummyEDataType = createEDataType(DUMMY);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EDataType getDummy() {
+		return dummyEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public SysmlFactory getSysmlFactory() {
+		return (SysmlFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		ModelelementsPackage theModelelementsPackage = (ModelelementsPackage) EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI);
+		BlocksPackage theBlocksPackage = (BlocksPackage) EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+		PortandflowsPackage thePortandflowsPackage = (PortandflowsPackage) EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI);
+		ConstraintsPackage theConstraintsPackage = (ConstraintsPackage) EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI);
+		ActivitiesPackage theActivitiesPackage = (ActivitiesPackage) EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+		AllocationsPackage theAllocationsPackage = (AllocationsPackage) EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+		RequirementsPackage theRequirementsPackage = (RequirementsPackage) EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		InteractionsPackage theInteractionsPackage = (InteractionsPackage) EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI);
+		StatemachinesPackage theStatemachinesPackage = (StatemachinesPackage) EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI);
+		UsecasesPackage theUsecasesPackage = (UsecasesPackage) EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI);
+
+		// Add subpackages
+		getESubpackages().add(theModelelementsPackage);
+		getESubpackages().add(theBlocksPackage);
+		getESubpackages().add(thePortandflowsPackage);
+		getESubpackages().add(theConstraintsPackage);
+		getESubpackages().add(theActivitiesPackage);
+		getESubpackages().add(theAllocationsPackage);
+		getESubpackages().add(theRequirementsPackage);
+		getESubpackages().add(theInteractionsPackage);
+		getESubpackages().add(theStatemachinesPackage);
+		getESubpackages().add(theUsecasesPackage);
+
+		// Initialize data types
+		initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+		// Create resource
+		createResource(eNS_URI);
+	}
+
+} // SysmlPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Conform.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Conform.java
new file mode 100644
index 0000000..17c08ca
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Conform.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Conform</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.Conform#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getConform()
+ * @model
+ * @generated
+ */
+public interface Conform extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Dependency</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Dependency</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Dependency</em>' reference.
+	 * @see #setBase_Dependency(Dependency)
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getConform_Base_Dependency()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Dependency getBase_Dependency();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.modelelements.Conform#getBase_Dependency <em>Base Dependency</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Dependency</em>' reference.
+	 * @see #getBase_Dependency()
+	 * @generated
+	 */
+	void setBase_Dependency(Dependency value);
+
+} // Conform
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ModelelementsFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ModelelementsFactory.java
new file mode 100644
index 0000000..b12f8a3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ModelelementsFactory.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage
+ * @generated
+ */
+public interface ModelelementsFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	ModelelementsFactory eINSTANCE = org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Conform</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Conform</em>'.
+	 * @generated
+	 */
+	Conform createConform();
+
+	/**
+	 * Returns a new object of class '<em>Problem</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Problem</em>'.
+	 * @generated
+	 */
+	Problem createProblem();
+
+	/**
+	 * Returns a new object of class '<em>Rationale</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Rationale</em>'.
+	 * @generated
+	 */
+	Rationale createRationale();
+
+	/**
+	 * Returns a new object of class '<em>View</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>View</em>'.
+	 * @generated
+	 */
+	View createView();
+
+	/**
+	 * Returns a new object of class '<em>View Point</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>View Point</em>'.
+	 * @generated
+	 */
+	ViewPoint createViewPoint();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	ModelelementsPackage getModelelementsPackage();
+
+} // ModelelementsFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ModelelementsPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ModelelementsPackage.java
new file mode 100644
index 0000000..aaf303f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ModelelementsPackage.java
@@ -0,0 +1,660 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc --> <!-- begin-model-doc --> The supplier/target must be an
+ * element stereotyped by <<ViewPoint>> The client/source must be an element
+ * stereotyped by <<View>> <!-- end-model-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ModelelementsPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ConformImpl
+		 * <em>Conform</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ConformImpl
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getConform()
+		 * @generated
+		 */
+		EClass CONFORM = eINSTANCE.getConform();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Dependency</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference CONFORM__BASE_DEPENDENCY = eINSTANCE.getConform_Base_Dependency();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewImpl <em>View</em>}' class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewImpl
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getView()
+		 * @generated
+		 */
+		EClass VIEW = eINSTANCE.getView();
+
+		/**
+		 * The meta object literal for the '<em><b>View Point</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VIEW__VIEW_POINT = eINSTANCE.getView_ViewPoint();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VIEW__BASE_PACKAGE = eINSTANCE.getView_Base_Package();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl <em>View Point</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getViewPoint()
+		 * @generated
+		 */
+		EClass VIEW_POINT = eINSTANCE.getViewPoint();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference VIEW_POINT__BASE_CLASS = eINSTANCE.getViewPoint_Base_Class();
+
+		/**
+		 * The meta object literal for the '<em><b>Stake Holders</b></em>' attribute list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute VIEW_POINT__STAKE_HOLDERS = eINSTANCE.getViewPoint_StakeHolders();
+
+		/**
+		 * The meta object literal for the '<em><b>Purpose</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute VIEW_POINT__PURPOSE = eINSTANCE.getViewPoint_Purpose();
+
+		/**
+		 * The meta object literal for the '<em><b>Concerns</b></em>' attribute list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute VIEW_POINT__CONCERNS = eINSTANCE.getViewPoint_Concerns();
+
+		/**
+		 * The meta object literal for the '<em><b>Languages</b></em>' attribute list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute VIEW_POINT__LANGUAGES = eINSTANCE.getViewPoint_Languages();
+
+		/**
+		 * The meta object literal for the '<em><b>Methods</b></em>' attribute list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute VIEW_POINT__METHODS = eINSTANCE.getViewPoint_Methods();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.modelelements.internal.impl.RationaleImpl
+		 * <em>Rationale</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.RationaleImpl
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getRationale()
+		 * @generated
+		 */
+		EClass RATIONALE = eINSTANCE.getRationale();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference RATIONALE__BASE_COMMENT = eINSTANCE.getRationale_Base_Comment();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ProblemImpl
+		 * <em>Problem</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ProblemImpl
+		 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getProblem()
+		 * @generated
+		 */
+		EClass PROBLEM = eINSTANCE.getProblem();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference PROBLEM__BASE_COMMENT = eINSTANCE.getProblem_Base_Comment();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "modelelements";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "ModelElements";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	ModelelementsPackage eINSTANCE = org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ConformImpl <em>Conform</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ConformImpl
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getConform()
+	 * @generated
+	 */
+	int CONFORM = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Dependency</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONFORM__BASE_DEPENDENCY = 0;
+
+	/**
+	 * The number of structural features of the '<em>Conform</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONFORM_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Conform</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int CONFORM_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewImpl <em>View</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewImpl
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getView()
+	 * @generated
+	 */
+	int VIEW = 1;
+
+	/**
+	 * The feature id for the '<em><b>View Point</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW__VIEW_POINT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Package</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW__BASE_PACKAGE = 1;
+
+	/**
+	 * The number of structural features of the '<em>View</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>View</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl
+	 * <em>View Point</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getViewPoint()
+	 * @generated
+	 */
+	int VIEW_POINT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT__BASE_CLASS = 0;
+
+	/**
+	 * The feature id for the '<em><b>Stake Holders</b></em>' attribute list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT__STAKE_HOLDERS = 1;
+
+	/**
+	 * The feature id for the '<em><b>Purpose</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT__PURPOSE = 2;
+
+	/**
+	 * The feature id for the '<em><b>Concerns</b></em>' attribute list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT__CONCERNS = 3;
+
+	/**
+	 * The feature id for the '<em><b>Languages</b></em>' attribute list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT__LANGUAGES = 4;
+
+	/**
+	 * The feature id for the '<em><b>Methods</b></em>' attribute list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT__METHODS = 5;
+
+	/**
+	 * The number of structural features of the '<em>View Point</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT_FEATURE_COUNT = 6;
+
+	/**
+	 * The number of operations of the '<em>View Point</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VIEW_POINT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.RationaleImpl <em>Rationale</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.RationaleImpl
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getRationale()
+	 * @generated
+	 */
+	int RATIONALE = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATIONALE__BASE_COMMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Rationale</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATIONALE_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Rationale</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int RATIONALE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ProblemImpl <em>Problem</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ProblemImpl
+	 * @see org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl#getProblem()
+	 * @generated
+	 */
+	int PROBLEM = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Comment</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBLEM__BASE_COMMENT = 0;
+
+	/**
+	 * The number of structural features of the '<em>Problem</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBLEM_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Problem</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PROBLEM_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.modelelements.Conform <em>Conform</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Conform</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Conform
+	 * @generated
+	 */
+	EClass getConform();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.modelelements.Conform#getBase_Dependency <em>Base Dependency</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Dependency</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Conform#getBase_Dependency()
+	 * @see #getConform()
+	 * @generated
+	 */
+	EReference getConform_Base_Dependency();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	ModelelementsFactory getModelelementsFactory();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.modelelements.Problem <em>Problem</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Problem</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Problem
+	 * @generated
+	 */
+	EClass getProblem();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.modelelements.Problem#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Problem#getBase_Comment()
+	 * @see #getProblem()
+	 * @generated
+	 */
+	EReference getProblem_Base_Comment();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.modelelements.Rationale <em>Rationale</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Rationale</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Rationale
+	 * @generated
+	 */
+	EClass getRationale();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.modelelements.Rationale#getBase_Comment <em>Base Comment</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Comment</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Rationale#getBase_Comment()
+	 * @see #getRationale()
+	 * @generated
+	 */
+	EReference getRationale_Base_Comment();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.modelelements.View <em>View</em>}'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>View</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.View
+	 * @generated
+	 */
+	EClass getView();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.modelelements.View#getBase_Package <em>Base Package</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Package</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.View#getBase_Package()
+	 * @see #getView()
+	 * @generated
+	 */
+	EReference getView_Base_Package();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.modelelements.View#getViewPoint <em>View Point</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>View Point</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.View#getViewPoint()
+	 * @see #getView()
+	 * @generated
+	 */
+	EReference getView_ViewPoint();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint <em>View Point</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>View Point</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint
+	 * @generated
+	 */
+	EClass getViewPoint();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint#getBase_Class()
+	 * @see #getViewPoint()
+	 * @generated
+	 */
+	EReference getViewPoint_Base_Class();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getConcerns <em>Concerns</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute list '<em>Concerns</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint#getConcerns()
+	 * @see #getViewPoint()
+	 * @generated
+	 */
+	EAttribute getViewPoint_Concerns();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getLanguages <em>Languages</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute list '<em>Languages</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint#getLanguages()
+	 * @see #getViewPoint()
+	 * @generated
+	 */
+	EAttribute getViewPoint_Languages();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getMethods <em>Methods</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute list '<em>Methods</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint#getMethods()
+	 * @see #getViewPoint()
+	 * @generated
+	 */
+	EAttribute getViewPoint_Methods();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getPurpose <em>Purpose</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Purpose</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint#getPurpose()
+	 * @see #getViewPoint()
+	 * @generated
+	 */
+	EAttribute getViewPoint_Purpose();
+
+	/**
+	 * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getStakeHolders
+	 * <em>Stake Holders</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute list '<em>Stake Holders</em>'.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint#getStakeHolders()
+	 * @see #getViewPoint()
+	 * @generated
+	 */
+	EAttribute getViewPoint_StakeHolders();
+
+} // ModelelementsPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Problem.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Problem.java
new file mode 100644
index 0000000..1301b5d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Problem.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Problem</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.Problem#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getProblem()
+ * @model
+ * @generated
+ */
+public interface Problem extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getProblem_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.modelelements.Problem#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+} // Problem
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Rationale.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Rationale.java
new file mode 100644
index 0000000..fc3ae8f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/Rationale.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Rationale</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.Rationale#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getRationale()
+ * @model
+ * @generated
+ */
+public interface Rationale extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Comment</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Comment</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Comment</em>' reference.
+	 * @see #setBase_Comment(Comment)
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getRationale_Base_Comment()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Comment getBase_Comment();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.modelelements.Rationale#getBase_Comment <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Comment</em>' reference.
+	 * @see #getBase_Comment()
+	 * @generated
+	 */
+	void setBase_Comment(Comment value);
+
+} // Rationale
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/View.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/View.java
new file mode 100644
index 0000000..cab1332
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/View.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>View</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.View#getViewPoint <em>View Point</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.View#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getView()
+ * @model
+ * @generated
+ */
+public interface View extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Package</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Package</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Package</em>' reference.
+	 * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getView_Base_Package()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Package getBase_Package();
+
+	/**
+	 * Returns the value of the '<em><b>View Point</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>View Point</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>View Point</em>' reference.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getView_ViewPoint()
+	 * @model required="true" transient="true" changeable="false"
+	 *        volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	ViewPoint getViewPoint();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.modelelements.View#getBase_Package <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Package</em>' reference.
+	 * @see #getBase_Package()
+	 * @generated
+	 */
+	void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // View
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ViewPoint.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ViewPoint.java
new file mode 100644
index 0000000..aabf292
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/ViewPoint.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>View Point</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getStakeHolders <em>Stake Holders</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getPurpose <em>Purpose</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getLanguages <em>Languages</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getMethods <em>Methods</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint()
+ * @model
+ * @generated
+ */
+public interface ViewPoint extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Returns the value of the '<em><b>Concerns</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc
+	 * -->
+	 * <p>
+	 * If the meaning of the '<em>Concerns</em>' attribute list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Concerns</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint_Concerns()
+	 * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getConcerns();
+
+	/**
+	 * Returns the value of the '<em><b>Languages</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc
+	 * -->
+	 * <p>
+	 * If the meaning of the '<em>Languages</em>' attribute list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Languages</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint_Languages()
+	 * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getLanguages();
+
+	/**
+	 * Returns the value of the '<em><b>Methods</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}.
+	 * <!-- begin-user-doc
+	 * -->
+	 * <p>
+	 * If the meaning of the '<em>Methods</em>' attribute list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Methods</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint_Methods()
+	 * @model unique="false" dataType="org.eclipse.uml2.types.String" ordered="false"
+	 * @generated
+	 */
+	EList<String> getMethods();
+
+	/**
+	 * Returns the value of the '<em><b>Purpose</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Purpose</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Purpose</em>' attribute.
+	 * @see #setPurpose(String)
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint_Purpose()
+	 * @model unique="false" ordered="false"
+	 * @generated
+	 */
+	String getPurpose();
+
+	/**
+	 * Returns the value of the '<em><b>Stake Holders</b></em>' attribute list.
+	 * The list contents are of type {@link java.lang.String}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Stake Holders</em>' attribute list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Stake Holders</em>' attribute list.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#getViewPoint_StakeHolders()
+	 * @model unique="false" ordered="false"
+	 * @generated
+	 */
+	EList<String> getStakeHolders();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.modelelements.ViewPoint#getPurpose
+	 * <em>Purpose</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Purpose</em>' attribute.
+	 * @see #getPurpose()
+	 * @generated
+	 */
+	void setPurpose(String value);
+
+} // ViewPoint
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ConformImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ConformImpl.java
new file mode 100644
index 0000000..6ae98a7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ConformImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.modelelements.Conform;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.uml2.uml.Dependency;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Conform</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ConformImpl#getBase_Dependency <em>Base Dependency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConformImpl extends MinimalEObjectImpl.Container implements Conform {
+
+	/**
+	 * The cached value of the '{@link #getBase_Dependency() <em>Base Dependency</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Dependency()
+	 * @generated
+	 * @ordered
+	 */
+	protected Dependency base_Dependency;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ConformImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dependency basicGetBase_Dependency() {
+		return base_Dependency;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ModelelementsPackage.CONFORM__BASE_DEPENDENCY:
+			if (resolve) {
+				return getBase_Dependency();
+			}
+			return basicGetBase_Dependency();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.CONFORM__BASE_DEPENDENCY:
+			return base_Dependency != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ModelelementsPackage.CONFORM__BASE_DEPENDENCY:
+			setBase_Dependency((Dependency) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelelementsPackage.Literals.CONFORM;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.CONFORM__BASE_DEPENDENCY:
+			setBase_Dependency((Dependency) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Dependency getBase_Dependency() {
+		if (base_Dependency != null && base_Dependency.eIsProxy()) {
+			InternalEObject oldBase_Dependency = (InternalEObject) base_Dependency;
+			base_Dependency = (Dependency) eResolveProxy(oldBase_Dependency);
+			if (base_Dependency != oldBase_Dependency) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelelementsPackage.CONFORM__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+				}
+			}
+		}
+		return base_Dependency;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Dependency(Dependency newBase_Dependency) {
+		Dependency oldBase_Dependency = base_Dependency;
+		base_Dependency = newBase_Dependency;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelelementsPackage.CONFORM__BASE_DEPENDENCY, oldBase_Dependency, base_Dependency));
+		}
+	}
+
+} // ConformImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ModelelementsFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ModelelementsFactoryImpl.java
new file mode 100644
index 0000000..1bbfd9b
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ModelelementsFactoryImpl.java
@@ -0,0 +1,160 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.modelelements.Conform;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsFactory;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.Problem;
+import org.eclipse.papyrus.sysml.modelelements.Rationale;
+import org.eclipse.papyrus.sysml.modelelements.View;
+import org.eclipse.papyrus.sysml.modelelements.ViewPoint;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ModelelementsFactoryImpl extends EFactoryImpl implements ModelelementsFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ModelelementsPackage getPackage() {
+		return ModelelementsPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static ModelelementsFactory init() {
+		try {
+			ModelelementsFactory theModelelementsFactory = (ModelelementsFactory) EPackage.Registry.INSTANCE.getEFactory(ModelelementsPackage.eNS_URI);
+			if (theModelelementsFactory != null) {
+				return theModelelementsFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ModelelementsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case ModelelementsPackage.CONFORM:
+			return createConform();
+		case ModelelementsPackage.VIEW:
+			return createView();
+		case ModelelementsPackage.VIEW_POINT:
+			return createViewPoint();
+		case ModelelementsPackage.RATIONALE:
+			return createRationale();
+		case ModelelementsPackage.PROBLEM:
+			return createProblem();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Conform createConform() {
+		ConformImpl conform = new ConformImpl();
+		return conform;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Problem createProblem() {
+		ProblemImpl problem = new ProblemImpl();
+		return problem;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Rationale createRationale() {
+		RationaleImpl rationale = new RationaleImpl();
+		return rationale;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public View createView() {
+		ViewImpl view = new ViewImpl();
+		return view;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ViewPoint createViewPoint() {
+		ViewPointImpl viewPoint = new ViewPointImpl();
+		return viewPoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsPackage getModelelementsPackage() {
+		return (ModelelementsPackage) getEPackage();
+	}
+
+} // ModelelementsFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ModelelementsPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ModelelementsPackageImpl.java
new file mode 100644
index 0000000..bed031d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ModelelementsPackageImpl.java
@@ -0,0 +1,455 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.Conform;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsFactory;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.Problem;
+import org.eclipse.papyrus.sysml.modelelements.Rationale;
+import org.eclipse.papyrus.sysml.modelelements.View;
+import org.eclipse.papyrus.sysml.modelelements.ViewPoint;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ModelelementsPackageImpl extends EPackageImpl implements ModelelementsPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link ModelelementsPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static ModelelementsPackage init() {
+		if (isInited) {
+			return (ModelelementsPackage) EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ModelelementsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theModelelementsPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theModelelementsPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theModelelementsPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(ModelelementsPackage.eNS_URI, theModelelementsPackage);
+		return theModelelementsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass conformEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass viewEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass viewPointEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass rationaleEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass problemEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private ModelelementsPackageImpl() {
+		super(eNS_URI, ModelelementsFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		conformEClass = createEClass(CONFORM);
+		createEReference(conformEClass, CONFORM__BASE_DEPENDENCY);
+
+		viewEClass = createEClass(VIEW);
+		createEReference(viewEClass, VIEW__VIEW_POINT);
+		createEReference(viewEClass, VIEW__BASE_PACKAGE);
+
+		viewPointEClass = createEClass(VIEW_POINT);
+		createEReference(viewPointEClass, VIEW_POINT__BASE_CLASS);
+		createEAttribute(viewPointEClass, VIEW_POINT__STAKE_HOLDERS);
+		createEAttribute(viewPointEClass, VIEW_POINT__PURPOSE);
+		createEAttribute(viewPointEClass, VIEW_POINT__CONCERNS);
+		createEAttribute(viewPointEClass, VIEW_POINT__LANGUAGES);
+		createEAttribute(viewPointEClass, VIEW_POINT__METHODS);
+
+		rationaleEClass = createEClass(RATIONALE);
+		createEReference(rationaleEClass, RATIONALE__BASE_COMMENT);
+
+		problemEClass = createEClass(PROBLEM);
+		createEReference(problemEClass, PROBLEM__BASE_COMMENT);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getConform() {
+		return conformEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getConform_Base_Dependency() {
+		return (EReference) conformEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsFactory getModelelementsFactory() {
+		return (ModelelementsFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getProblem() {
+		return problemEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getProblem_Base_Comment() {
+		return (EReference) problemEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getRationale() {
+		return rationaleEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRationale_Base_Comment() {
+		return (EReference) rationaleEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getView() {
+		return viewEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getView_Base_Package() {
+		return (EReference) viewEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getView_ViewPoint() {
+		return (EReference) viewEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getViewPoint() {
+		return viewPointEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getViewPoint_Base_Class() {
+		return (EReference) viewPointEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getViewPoint_Concerns() {
+		return (EAttribute) viewPointEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getViewPoint_Languages() {
+		return (EAttribute) viewPointEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getViewPoint_Methods() {
+		return (EAttribute) viewPointEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getViewPoint_Purpose() {
+		return (EAttribute) viewPointEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getViewPoint_StakeHolders() {
+		return (EAttribute) viewPointEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(conformEClass, Conform.class, "Conform", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getConform_Base_Dependency(), theUMLPackage.getDependency(), null, "base_Dependency", null, 1, 1, Conform.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(viewEClass, View.class, "View", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getView_ViewPoint(), this.getViewPoint(), null, "viewPoint", null, 1, 1, View.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEReference(getView_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, View.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(viewPointEClass, ViewPoint.class, "ViewPoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getViewPoint_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, ViewPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getViewPoint_StakeHolders(), theTypesPackage.getString(), "stakeHolders", null, 0, -1, ViewPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getViewPoint_Purpose(), theTypesPackage.getString(), "purpose", null, 0, 1, ViewPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getViewPoint_Concerns(), theTypesPackage.getString(), "concerns", null, 0, -1, ViewPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getViewPoint_Languages(), theTypesPackage.getString(), "languages", null, 0, -1, ViewPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getViewPoint_Methods(), theTypesPackage.getString(), "methods", null, 0, -1, ViewPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEClass(rationaleEClass, Rationale.class, "Rationale", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRationale_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, Rationale.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getProblem_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, Problem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+	}
+
+} // ModelelementsPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ProblemImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ProblemImpl.java
new file mode 100644
index 0000000..b7ff42c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ProblemImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.Problem;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Problem</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ProblemImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem {
+
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ProblemImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ModelelementsPackage.PROBLEM__BASE_COMMENT:
+			if (resolve) {
+				return getBase_Comment();
+			}
+			return basicGetBase_Comment();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.PROBLEM__BASE_COMMENT:
+			return base_Comment != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ModelelementsPackage.PROBLEM__BASE_COMMENT:
+			setBase_Comment((Comment) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelelementsPackage.Literals.PROBLEM;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.PROBLEM__BASE_COMMENT:
+			setBase_Comment((Comment) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject) base_Comment;
+			base_Comment = (Comment) eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelelementsPackage.PROBLEM__BASE_COMMENT, oldBase_Comment, base_Comment));
+				}
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelelementsPackage.PROBLEM__BASE_COMMENT, oldBase_Comment, base_Comment));
+		}
+	}
+
+} // ProblemImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/RationaleImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/RationaleImpl.java
new file mode 100644
index 0000000..e99f62c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/RationaleImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.Rationale;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Rationale</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.RationaleImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RationaleImpl extends MinimalEObjectImpl.Container implements Rationale {
+
+	/**
+	 * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Comment()
+	 * @generated
+	 * @ordered
+	 */
+	protected Comment base_Comment;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected RationaleImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Comment basicGetBase_Comment() {
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ModelelementsPackage.RATIONALE__BASE_COMMENT:
+			if (resolve) {
+				return getBase_Comment();
+			}
+			return basicGetBase_Comment();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.RATIONALE__BASE_COMMENT:
+			return base_Comment != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ModelelementsPackage.RATIONALE__BASE_COMMENT:
+			setBase_Comment((Comment) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelelementsPackage.Literals.RATIONALE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.RATIONALE__BASE_COMMENT:
+			setBase_Comment((Comment) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Comment getBase_Comment() {
+		if (base_Comment != null && base_Comment.eIsProxy()) {
+			InternalEObject oldBase_Comment = (InternalEObject) base_Comment;
+			base_Comment = (Comment) eResolveProxy(oldBase_Comment);
+			if (base_Comment != oldBase_Comment) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelelementsPackage.RATIONALE__BASE_COMMENT, oldBase_Comment, base_Comment));
+				}
+			}
+		}
+		return base_Comment;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Comment(Comment newBase_Comment) {
+		Comment oldBase_Comment = base_Comment;
+		base_Comment = newBase_Comment;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelelementsPackage.RATIONALE__BASE_COMMENT, oldBase_Comment, base_Comment));
+		}
+	}
+
+} // RationaleImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ViewImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ViewImpl.java
new file mode 100644
index 0000000..595b4ba
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ViewImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.modelelements.Conform;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.View;
+import org.eclipse.papyrus.sysml.modelelements.ViewPoint;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>View</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewImpl#getViewPoint <em>View Point</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ViewImpl extends MinimalEObjectImpl.Container implements View {
+
+	/**
+	 * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Package()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Package base_Package;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ViewImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public ViewPoint basicGetViewPoint() {
+		// ViewPoint is related to View via a Conform dependency
+		ViewPoint viewPoint = null;
+		Conform conform = null;
+
+		if (getBase_Package() != null) {
+			// Find Conform link
+			Iterator<Dependency> itDep = getBase_Package().getClientDependencies().iterator();
+			while (itDep.hasNext() && (conform == null)) {
+				Dependency currentDependency = itDep.next();
+				conform = UMLUtil.getStereotypeApplication(currentDependency, Conform.class);
+			}
+
+			// Find ViewPoint
+			if (conform != null) {
+				Iterator<Element> itElt = conform.getBase_Dependency().getTargets().iterator();
+				while (itElt.hasNext()) {
+					Element currentElt = itElt.next();
+					viewPoint = UMLUtil.getStereotypeApplication(currentElt, ViewPoint.class);
+				}
+			}
+		}
+		return viewPoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW__VIEW_POINT:
+			if (resolve) {
+				return getViewPoint();
+			}
+			return basicGetViewPoint();
+		case ModelelementsPackage.VIEW__BASE_PACKAGE:
+			if (resolve) {
+				return getBase_Package();
+			}
+			return basicGetBase_Package();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW__VIEW_POINT:
+			return basicGetViewPoint() != null;
+		case ModelelementsPackage.VIEW__BASE_PACKAGE:
+			return base_Package != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW__BASE_PACKAGE:
+			setBase_Package((org.eclipse.uml2.uml.Package) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelelementsPackage.Literals.VIEW;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW__BASE_PACKAGE:
+			setBase_Package((org.eclipse.uml2.uml.Package) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Package getBase_Package() {
+		if (base_Package != null && base_Package.eIsProxy()) {
+			InternalEObject oldBase_Package = (InternalEObject) base_Package;
+			base_Package = (org.eclipse.uml2.uml.Package) eResolveProxy(oldBase_Package);
+			if (base_Package != oldBase_Package) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelelementsPackage.VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+				}
+			}
+		}
+		return base_Package;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ViewPoint getViewPoint() {
+		ViewPoint viewPoint = basicGetViewPoint();
+		return viewPoint != null && viewPoint.eIsProxy() ? (ViewPoint) eResolveProxy((InternalEObject) viewPoint) : viewPoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+		org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+		base_Package = newBase_Package;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelelementsPackage.VIEW__BASE_PACKAGE, oldBase_Package, base_Package));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public void setViewPoint(ViewPoint newViewPoint) {
+		// TODO: implement this method to set the 'View Point' reference
+		// Ensure that you remove @generated or mark it @generated NOT
+
+		// The exception makes the model opening to fail...
+		// throw new UnsupportedOperationException();
+	}
+
+} // ViewImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ViewPointImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ViewPointImpl.java
new file mode 100644
index 0000000..491dc4c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/internal/impl/ViewPointImpl.java
@@ -0,0 +1,388 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.internal.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.ViewPoint;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>View Point</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl#getStakeHolders <em>Stake Holders</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl#getPurpose <em>Purpose</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl#getConcerns <em>Concerns</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl#getLanguages <em>Languages</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.modelelements.internal.impl.ViewPointImpl#getMethods <em>Methods</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ViewPointImpl extends MinimalEObjectImpl.Container implements ViewPoint {
+
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * The cached value of the '{@link #getStakeHolders() <em>Stake Holders</em>}' attribute list.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getStakeHolders()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> stakeHolders;
+
+	/**
+	 * The default value of the '{@link #getPurpose() <em>Purpose</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getPurpose()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String PURPOSE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getPurpose() <em>Purpose</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getPurpose()
+	 * @generated
+	 * @ordered
+	 */
+	protected String purpose = PURPOSE_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getConcerns() <em>Concerns</em>}' attribute list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getConcerns()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> concerns;
+
+	/**
+	 * The cached value of the '{@link #getLanguages() <em>Languages</em>}' attribute list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getLanguages()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> languages;
+
+	/**
+	 * The cached value of the '{@link #getMethods() <em>Methods</em>}' attribute list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getMethods()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<String> methods;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ViewPointImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW_POINT__BASE_CLASS:
+			if (resolve) {
+				return getBase_Class();
+			}
+			return basicGetBase_Class();
+		case ModelelementsPackage.VIEW_POINT__STAKE_HOLDERS:
+			return getStakeHolders();
+		case ModelelementsPackage.VIEW_POINT__PURPOSE:
+			return getPurpose();
+		case ModelelementsPackage.VIEW_POINT__CONCERNS:
+			return getConcerns();
+		case ModelelementsPackage.VIEW_POINT__LANGUAGES:
+			return getLanguages();
+		case ModelelementsPackage.VIEW_POINT__METHODS:
+			return getMethods();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW_POINT__BASE_CLASS:
+			return base_Class != null;
+		case ModelelementsPackage.VIEW_POINT__STAKE_HOLDERS:
+			return stakeHolders != null && !stakeHolders.isEmpty();
+		case ModelelementsPackage.VIEW_POINT__PURPOSE:
+			return PURPOSE_EDEFAULT == null ? purpose != null : !PURPOSE_EDEFAULT.equals(purpose);
+		case ModelelementsPackage.VIEW_POINT__CONCERNS:
+			return concerns != null && !concerns.isEmpty();
+		case ModelelementsPackage.VIEW_POINT__LANGUAGES:
+			return languages != null && !languages.isEmpty();
+		case ModelelementsPackage.VIEW_POINT__METHODS:
+			return methods != null && !methods.isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW_POINT__BASE_CLASS:
+			setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+			return;
+		case ModelelementsPackage.VIEW_POINT__STAKE_HOLDERS:
+			getStakeHolders().clear();
+			getStakeHolders().addAll((Collection<? extends String>) newValue);
+			return;
+		case ModelelementsPackage.VIEW_POINT__PURPOSE:
+			setPurpose((String) newValue);
+			return;
+		case ModelelementsPackage.VIEW_POINT__CONCERNS:
+			getConcerns().clear();
+			getConcerns().addAll((Collection<? extends String>) newValue);
+			return;
+		case ModelelementsPackage.VIEW_POINT__LANGUAGES:
+			getLanguages().clear();
+			getLanguages().addAll((Collection<? extends String>) newValue);
+			return;
+		case ModelelementsPackage.VIEW_POINT__METHODS:
+			getMethods().clear();
+			getMethods().addAll((Collection<? extends String>) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ModelelementsPackage.Literals.VIEW_POINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ModelelementsPackage.VIEW_POINT__BASE_CLASS:
+			setBase_Class((org.eclipse.uml2.uml.Class) null);
+			return;
+		case ModelelementsPackage.VIEW_POINT__STAKE_HOLDERS:
+			getStakeHolders().clear();
+			return;
+		case ModelelementsPackage.VIEW_POINT__PURPOSE:
+			setPurpose(PURPOSE_EDEFAULT);
+			return;
+		case ModelelementsPackage.VIEW_POINT__CONCERNS:
+			getConcerns().clear();
+			return;
+		case ModelelementsPackage.VIEW_POINT__LANGUAGES:
+			getLanguages().clear();
+			return;
+		case ModelelementsPackage.VIEW_POINT__METHODS:
+			getMethods().clear();
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject) base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class) eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ModelelementsPackage.VIEW_POINT__BASE_CLASS, oldBase_Class, base_Class));
+				}
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<String> getConcerns() {
+		if (concerns == null) {
+			concerns = new EDataTypeEList<String>(String.class, this, ModelelementsPackage.VIEW_POINT__CONCERNS);
+		}
+		return concerns;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<String> getLanguages() {
+		if (languages == null) {
+			languages = new EDataTypeEList<String>(String.class, this, ModelelementsPackage.VIEW_POINT__LANGUAGES);
+		}
+		return languages;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<String> getMethods() {
+		if (methods == null) {
+			methods = new EDataTypeEList<String>(String.class, this, ModelelementsPackage.VIEW_POINT__METHODS);
+		}
+		return methods;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getPurpose() {
+		return purpose;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EList<String> getStakeHolders() {
+		if (stakeHolders == null) {
+			stakeHolders = new EDataTypeEList<String>(String.class, this, ModelelementsPackage.VIEW_POINT__STAKE_HOLDERS);
+		}
+		return stakeHolders;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelelementsPackage.VIEW_POINT__BASE_CLASS, oldBase_Class, base_Class));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setPurpose(String newPurpose) {
+		String oldPurpose = purpose;
+		purpose = newPurpose;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, ModelelementsPackage.VIEW_POINT__PURPOSE, oldPurpose, purpose));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (stakeHolders: ");
+		result.append(stakeHolders);
+		result.append(", purpose: ");
+		result.append(purpose);
+		result.append(", concerns: ");
+		result.append(concerns);
+		result.append(", languages: ");
+		result.append(languages);
+		result.append(", methods: ");
+		result.append(methods);
+		result.append(')');
+		return result.toString();
+	}
+
+} // ViewPointImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsAdapterFactory.java
new file mode 100644
index 0000000..77e6eff
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsAdapterFactory.java
@@ -0,0 +1,218 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.modelelements.Conform;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.Problem;
+import org.eclipse.papyrus.sysml.modelelements.Rationale;
+import org.eclipse.papyrus.sysml.modelelements.View;
+import org.eclipse.papyrus.sysml.modelelements.ViewPoint;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage
+ * @generated
+ */
+public class ModelelementsAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static ModelelementsPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ModelelementsSwitch<Adapter> modelSwitch = new ModelelementsSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseConform(Conform object) {
+			return createConformAdapter();
+		}
+
+		@Override
+		public Adapter caseView(View object) {
+			return createViewAdapter();
+		}
+
+		@Override
+		public Adapter caseViewPoint(ViewPoint object) {
+			return createViewPointAdapter();
+		}
+
+		@Override
+		public Adapter caseRationale(Rationale object) {
+			return createRationaleAdapter();
+		}
+
+		@Override
+		public Adapter caseProblem(Problem object) {
+			return createProblemAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = ModelelementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.modelelements.Conform <em>Conform</em>}'.
+	 * <!-- begin-user-doc
+	 * --> This default implementation returns null so
+	 * that we can easily ignore cases; it's useful to ignore a case when
+	 * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Conform
+	 * @generated
+	 */
+	public Adapter createConformAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.modelelements.Problem <em>Problem</em>}'.
+	 * <!-- begin-user-doc
+	 * --> This default implementation returns null so
+	 * that we can easily ignore cases; it's useful to ignore a case when
+	 * inheritance will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Problem
+	 * @generated
+	 */
+	public Adapter createProblemAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.modelelements.Rationale
+	 * <em>Rationale</em>}'. <!-- begin-user-doc --> This default implementation
+	 * returns null so that we can easily ignore cases; it's useful to ignore a
+	 * case when inheritance will catch all the cases anyway. <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.modelelements.Rationale
+	 * @generated
+	 */
+	public Adapter createRationaleAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.modelelements.View <em>View</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.modelelements.View
+	 * @generated
+	 */
+	public Adapter createViewAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.modelelements.ViewPoint <em>View Point</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.modelelements.ViewPoint
+	 * @generated
+	 */
+	public Adapter createViewPointAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // ModelelementsAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsResourceFactoryImpl.java
new file mode 100644
index 0000000..1fa9ecb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.util.ModelelementsResourceImpl
+ * @generated
+ */
+public class ModelelementsResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new ModelelementsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // ModelelementsResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsResourceImpl.java
new file mode 100644
index 0000000..b8ff036
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.util.ModelelementsResourceFactoryImpl
+ * @generated
+ */
+public class ModelelementsResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public ModelelementsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // ModelelementsResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsSwitch.java
new file mode 100644
index 0000000..29f0379
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsSwitch.java
@@ -0,0 +1,224 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.modelelements.Conform;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.Problem;
+import org.eclipse.papyrus.sysml.modelelements.Rationale;
+import org.eclipse.papyrus.sysml.modelelements.View;
+import org.eclipse.papyrus.sysml.modelelements.ViewPoint;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage
+ * @generated
+ */
+public class ModelelementsSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static ModelelementsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = ModelelementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Conform</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Conform</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseConform(Conform object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Problem</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Problem</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseProblem(Problem object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Rationale</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Rationale</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRationale(Rationale object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of ' <em>View</em>'. <!-- begin-user-doc --> This implementation returns null;
+	 * returning a non-null result will terminate the switch. <!-- end-user-doc
+	 * -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of ' <em>View</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseView(View object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>View Point</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>View Point</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseViewPoint(ViewPoint object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case ModelelementsPackage.CONFORM: {
+			Conform conform = (Conform) theEObject;
+			T result = caseConform(conform);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ModelelementsPackage.VIEW: {
+			View view = (View) theEObject;
+			T result = caseView(view);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ModelelementsPackage.VIEW_POINT: {
+			ViewPoint viewPoint = (ViewPoint) theEObject;
+			T result = caseViewPoint(viewPoint);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ModelelementsPackage.RATIONALE: {
+			Rationale rationale = (Rationale) theEObject;
+			T result = caseRationale(rationale);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case ModelelementsPackage.PROBLEM: {
+			Problem problem = (Problem) theEObject;
+			T result = caseProblem(problem);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+} // ModelelementsSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsXMLProcessor.java
new file mode 100644
index 0000000..5bbbfe2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/modelelements/util/ModelelementsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.modelelements.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ModelelementsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ModelelementsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		ModelelementsPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the ModelelementsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new ModelelementsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new ModelelementsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // ModelelementsXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowDirection.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowDirection.java
new file mode 100644
index 0000000..8a6c4a6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowDirection.java
@@ -0,0 +1,248 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Flow Direction</b></em>', and utility methods for working with
+ * them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowDirection()
+ * @model
+ * @generated
+ */
+public enum FlowDirection implements Enumerator {
+	/**
+	 * The '<em><b>In</b></em>' literal object.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #IN_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	IN(0, "in", "in"),
+
+	/**
+	 * The '<em><b>Out</b></em>' literal object.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #OUT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	OUT(1, "out", "out"),
+
+	/**
+	 * The '<em><b>Inout</b></em>' literal object.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #INOUT_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INOUT(2, "inout", "inout");
+
+	/**
+	 * The '<em><b>In</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>In</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #IN
+	 * @model name="in"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int IN_VALUE = 0;
+
+	/**
+	 * The '<em><b>Out</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Out</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #OUT
+	 * @model name="out"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int OUT_VALUE = 1;
+
+	/**
+	 * The '<em><b>Inout</b></em>' literal value.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Inout</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #INOUT
+	 * @model name="inout"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INOUT_VALUE = 2;
+
+	/**
+	 * An array of all the '<em><b>Flow Direction</b></em>' enumerators. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static final FlowDirection[] VALUES_ARRAY = new FlowDirection[] { IN, OUT, INOUT, };
+
+	/**
+	 * A public read-only list of all the '<em><b>Flow Direction</b></em>' enumerators.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static final List<FlowDirection> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Flow Direction</b></em>' literal with the specified integer value.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static FlowDirection get(int value) {
+		switch (value) {
+		case IN_VALUE:
+			return IN;
+		case OUT_VALUE:
+			return OUT;
+		case INOUT_VALUE:
+			return INOUT;
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Flow Direction</b></em>' literal with the specified literal value.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static FlowDirection get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FlowDirection result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Flow Direction</b></em>' literal with the specified name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static FlowDirection getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			FlowDirection result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private FlowDirection(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getLiteral() {
+		return literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public int getValue() {
+		return value;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string representation.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+
+} // FlowDirection
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowPort.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowPort.java
new file mode 100644
index 0000000..6327dd2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowPort.java
@@ -0,0 +1,152 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Flow Port</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#isAtomic <em>Is Atomic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#isConjugated <em>Is Conjugated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getDirection <em>Direction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowPort()
+ * @model
+ * @generated
+ */
+public interface FlowPort extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Port</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Port</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Port</em>' reference.
+	 * @see #setBase_Port(Port)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowPort_Base_Port()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Port getBase_Port();
+
+	/**
+	 * Returns the value of the '<em><b>Direction</b></em>' attribute.
+	 * The default value is <code>"inout"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.sysml.portandflows.FlowDirection}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Direction</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * @see #setDirection(FlowDirection)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowPort_Direction()
+	 * @model default="inout" unique="false" required="true" ordered="false"
+	 * @generated
+	 */
+	FlowDirection getDirection();
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @model kind="operation" required="true" ordered="false"
+	 * @generated
+	 */
+	Image getIcon();
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getBase_Port
+	 * <em>Base Port</em>}' reference. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Port</em>' reference.
+	 * @see #getBase_Port()
+	 * @generated
+	 */
+	void setBase_Port(Port value);
+
+	/**
+	 * Returns the value of the '<em><b>Is Atomic</b></em>' attribute.
+	 * The default value is <code>"false"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Atomic</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Is Atomic</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowPort_IsAtomic()
+	 * @model default="false" unique="false" dataType="org.eclipse.uml2.types.Boolean" required="true" transient="true" changeable="false"
+	 *        volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	boolean isAtomic();
+
+	/**
+	 * Returns the value of the '<em><b>Is Conjugated</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Is Conjugated</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Is Conjugated</em>' attribute.
+	 * @see #setIsConjugated(boolean)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowPort_IsConjugated()
+	 * @model unique="false" dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+	 * @generated
+	 */
+	boolean isConjugated();
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getDirection
+	 * <em>Direction</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * @see #getDirection()
+	 * @generated
+	 */
+	void setDirection(FlowDirection value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#isConjugated <em>Is Conjugated</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Is Conjugated</em>' attribute.
+	 * @see #isConjugated()
+	 * @generated
+	 */
+	void setIsConjugated(boolean value);
+
+} // FlowPort
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowProperty.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowProperty.java
new file mode 100644
index 0000000..8b1d614
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowProperty.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Flow Property</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getDirection <em>Direction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowProperty()
+ * @model
+ * @generated
+ */
+public interface FlowProperty extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Property</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Property</em>' reference.
+	 * @see #setBase_Property(Property)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowProperty_Base_Property()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Property getBase_Property();
+
+	/**
+	 * Returns the value of the '<em><b>Direction</b></em>' attribute.
+	 * The default value is <code>"inout"</code>.
+	 * The literals are from the enumeration {@link org.eclipse.papyrus.sysml.portandflows.FlowDirection}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Direction</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * @see #setDirection(FlowDirection)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowProperty_Direction()
+	 * @model default="inout" unique="false" required="true" ordered="false"
+	 * @generated
+	 */
+	FlowDirection getDirection();
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @model kind="operation" required="true" ordered="false"
+	 * @generated
+	 */
+	Image getIcon();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getBase_Property <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Property</em>' reference.
+	 * @see #getBase_Property()
+	 * @generated
+	 */
+	void setBase_Property(Property value);
+
+	/**
+	 * Sets the value of the ' {@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getDirection
+	 * <em>Direction</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Direction</em>' attribute.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * @see #getDirection()
+	 * @generated
+	 */
+	void setDirection(FlowDirection value);
+
+} // FlowProperty
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowSpecification.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowSpecification.java
new file mode 100644
index 0000000..1955181
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/FlowSpecification.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Interface;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Flow Specification</b></em> '. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.FlowSpecification#getBase_Interface <em>Base Interface</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowSpecification()
+ * @model
+ * @generated
+ */
+public interface FlowSpecification extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Interface</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Interface</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Interface</em>' reference.
+	 * @see #setBase_Interface(Interface)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getFlowSpecification_Base_Interface()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Interface getBase_Interface();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.portandflows.FlowSpecification#getBase_Interface <em>Base Interface</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Interface</em>' reference.
+	 * @see #getBase_Interface()
+	 * @generated
+	 */
+	void setBase_Interface(Interface value);
+
+} // FlowSpecification
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/ItemFlow.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/ItemFlow.java
new file mode 100644
index 0000000..d4b02f8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/ItemFlow.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Item Flow</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow#getItemProperty <em>Item Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getItemFlow()
+ * @model
+ * @generated
+ */
+public interface ItemFlow extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Information Flow</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Information Flow</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Information Flow</em>' reference.
+	 * @see #setBase_InformationFlow(InformationFlow)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getItemFlow_Base_InformationFlow()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	InformationFlow getBase_InformationFlow();
+
+	/**
+	 * Returns the value of the '<em><b>Item Property</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Item Property</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Item Property</em>' reference.
+	 * @see #setItemProperty(Property)
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#getItemFlow_ItemProperty()
+	 * @model ordered="false"
+	 * @generated
+	 */
+	Property getItemProperty();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow#getBase_InformationFlow <em>Base Information Flow</em>}'
+	 * reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Information Flow</em>' reference.
+	 * @see #getBase_InformationFlow()
+	 * @generated
+	 */
+	void setBase_InformationFlow(InformationFlow value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow#getItemProperty <em>Item Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Item Property</em>' reference.
+	 * @see #getItemProperty()
+	 * @generated
+	 */
+	void setItemProperty(Property value);
+
+} // ItemFlow
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/PortandflowsFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/PortandflowsFactory.java
new file mode 100644
index 0000000..dfb6d9a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/PortandflowsFactory.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage
+ * @generated
+ */
+public interface PortandflowsFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	PortandflowsFactory eINSTANCE = org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Flow Port</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Flow Port</em>'.
+	 * @generated
+	 */
+	FlowPort createFlowPort();
+
+	/**
+	 * Returns a new object of class '<em>Flow Property</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Flow Property</em>'.
+	 * @generated
+	 */
+	FlowProperty createFlowProperty();
+
+	/**
+	 * Returns a new object of class '<em>Flow Specification</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Flow Specification</em>'.
+	 * @generated
+	 */
+	FlowSpecification createFlowSpecification();
+
+	/**
+	 * Returns a new object of class '<em>Item Flow</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Item Flow</em>'.
+	 * @generated
+	 */
+	ItemFlow createItemFlow();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	PortandflowsPackage getPortandflowsPackage();
+
+} // PortandflowsFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/PortandflowsPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/PortandflowsPackage.java
new file mode 100644
index 0000000..e48b8ad
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/PortandflowsPackage.java
@@ -0,0 +1,652 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PortandflowsPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl
+		 * <em>Flow Port</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowPort()
+		 * @generated
+		 */
+		EClass FLOW_PORT = eINSTANCE.getFlowPort();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference FLOW_PORT__BASE_PORT = eINSTANCE.getFlowPort_Base_Port();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Atomic</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute FLOW_PORT__IS_ATOMIC = eINSTANCE.getFlowPort_IsAtomic();
+
+		/**
+		 * The meta object literal for the '<em><b>Is Conjugated</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute FLOW_PORT__IS_CONJUGATED = eINSTANCE.getFlowPort_IsConjugated();
+
+		/**
+		 * The meta object literal for the '<em><b>Direction</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute FLOW_PORT__DIRECTION = eINSTANCE.getFlowPort_Direction();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Icon</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EOperation FLOW_PORT___GET_ICON = eINSTANCE.getFlowPort__GetIcon();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPropertyImpl <em>Flow Property</em>}'
+		 * class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPropertyImpl
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowProperty()
+		 * @generated
+		 */
+		EClass FLOW_PROPERTY = eINSTANCE.getFlowProperty();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference FLOW_PROPERTY__BASE_PROPERTY = eINSTANCE.getFlowProperty_Base_Property();
+
+		/**
+		 * The meta object literal for the '<em><b>Direction</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute FLOW_PROPERTY__DIRECTION = eINSTANCE.getFlowProperty_Direction();
+
+		/**
+		 * The meta object literal for the '<em><b>Get Icon</b></em>' operation.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EOperation FLOW_PROPERTY___GET_ICON = eINSTANCE.getFlowProperty__GetIcon();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowSpecificationImpl
+		 * <em>Flow Specification</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowSpecificationImpl
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowSpecification()
+		 * @generated
+		 */
+		EClass FLOW_SPECIFICATION = eINSTANCE.getFlowSpecification();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Interface</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference FLOW_SPECIFICATION__BASE_INTERFACE = eINSTANCE.getFlowSpecification_Base_Interface();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.portandflows.internal.impl.ItemFlowImpl
+		 * <em>Item Flow</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.ItemFlowImpl
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getItemFlow()
+		 * @generated
+		 */
+		EClass ITEM_FLOW = eINSTANCE.getItemFlow();
+
+		/**
+		 * The meta object literal for the ' <em><b>Base Information Flow</b></em>' reference feature. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ITEM_FLOW__BASE_INFORMATION_FLOW = eINSTANCE.getItemFlow_Base_InformationFlow();
+
+		/**
+		 * The meta object literal for the '<em><b>Item Property</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference ITEM_FLOW__ITEM_PROPERTY = eINSTANCE.getItemFlow_ItemProperty();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.portandflows.FlowDirection <em>Flow Direction</em>}' enum.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+		 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowDirection()
+		 * @generated
+		 */
+		EEnum FLOW_DIRECTION = eINSTANCE.getFlowDirection();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "portandflows";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "PortAndFlows";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	PortandflowsPackage eINSTANCE = org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl.init();
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl <em>Flow Port</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowPort()
+	 * @generated
+	 */
+	int FLOW_PORT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Port</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT__BASE_PORT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Atomic</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT__IS_ATOMIC = 1;
+
+	/**
+	 * The feature id for the '<em><b>Is Conjugated</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT__IS_CONJUGATED = 2;
+
+	/**
+	 * The feature id for the '<em><b>Direction</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT__DIRECTION = 3;
+
+	/**
+	 * The number of structural features of the '<em>Flow Port</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT_FEATURE_COUNT = 4;
+
+	/**
+	 * The operation id for the '<em>Get Icon</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT___GET_ICON = 0;
+
+	/**
+	 * The number of operations of the '<em>Flow Port</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PORT_OPERATION_COUNT = 1;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPropertyImpl
+	 * <em>Flow Property</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPropertyImpl
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowProperty()
+	 * @generated
+	 */
+	int FLOW_PROPERTY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Property</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PROPERTY__BASE_PROPERTY = 0;
+
+	/**
+	 * The feature id for the '<em><b>Direction</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PROPERTY__DIRECTION = 1;
+
+	/**
+	 * The number of structural features of the '<em>Flow Property</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PROPERTY_FEATURE_COUNT = 2;
+
+	/**
+	 * The operation id for the '<em>Get Icon</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PROPERTY___GET_ICON = 0;
+
+	/**
+	 * The number of operations of the '<em>Flow Property</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_PROPERTY_OPERATION_COUNT = 1;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowSpecificationImpl <em>Flow Specification</em>}'
+	 * class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowSpecificationImpl
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowSpecification()
+	 * @generated
+	 */
+	int FLOW_SPECIFICATION = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Interface</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_SPECIFICATION__BASE_INTERFACE = 0;
+
+	/**
+	 * The number of structural features of the '<em>Flow Specification</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_SPECIFICATION_FEATURE_COUNT = 1;
+
+	/**
+	 * The number of operations of the '<em>Flow Specification</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_SPECIFICATION_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.ItemFlowImpl <em>Item Flow</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.ItemFlowImpl
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getItemFlow()
+	 * @generated
+	 */
+	int ITEM_FLOW = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Information Flow</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ITEM_FLOW__BASE_INFORMATION_FLOW = 0;
+
+	/**
+	 * The feature id for the '<em><b>Item Property</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ITEM_FLOW__ITEM_PROPERTY = 1;
+
+	/**
+	 * The number of structural features of the '<em>Item Flow</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ITEM_FLOW_FEATURE_COUNT = 2;
+
+	/**
+	 * The number of operations of the '<em>Item Flow</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ITEM_FLOW_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * <em>Flow Direction</em>}' enum. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * @see org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl#getFlowDirection()
+	 * @generated
+	 */
+	int FLOW_DIRECTION = 4;
+
+	/**
+	 * Returns the meta object for enum '{@link org.eclipse.papyrus.sysml.portandflows.FlowDirection <em>Flow Direction</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for enum '<em>Flow Direction</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowDirection
+	 * @generated
+	 */
+	EEnum getFlowDirection();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort <em>Flow Port</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Flow Port</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort
+	 * @generated
+	 */
+	EClass getFlowPort();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getBase_Port <em>Base Port</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Port</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort#getBase_Port()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EReference getFlowPort_Base_Port();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getDirection <em>Direction</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Direction</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort#getDirection()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EAttribute getFlowPort_Direction();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#getIcon() <em>Get Icon</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the '<em>Get Icon</em>' operation.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort#getIcon()
+	 * @generated
+	 */
+	EOperation getFlowPort__GetIcon();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#isAtomic <em>Is Atomic</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Is Atomic</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort#isAtomic()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EAttribute getFlowPort_IsAtomic();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.portandflows.FlowPort#isConjugated <em>Is Conjugated</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Is Conjugated</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort#isConjugated()
+	 * @see #getFlowPort()
+	 * @generated
+	 */
+	EAttribute getFlowPort_IsConjugated();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty <em>Flow Property</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Flow Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowProperty
+	 * @generated
+	 */
+	EClass getFlowProperty();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getBase_Property <em>Base Property</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowProperty#getBase_Property()
+	 * @see #getFlowProperty()
+	 * @generated
+	 */
+	EReference getFlowProperty_Base_Property();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getDirection <em>Direction</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Direction</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowProperty#getDirection()
+	 * @see #getFlowProperty()
+	 * @generated
+	 */
+	EAttribute getFlowProperty_Direction();
+
+	/**
+	 * Returns the meta object for the '{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty#getIcon() <em>Get Icon</em>}' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the '<em>Get Icon</em>' operation.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowProperty#getIcon()
+	 * @generated
+	 */
+	EOperation getFlowProperty__GetIcon();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.portandflows.FlowSpecification
+	 * <em>Flow Specification</em>} '. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for class '<em>Flow Specification</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowSpecification
+	 * @generated
+	 */
+	EClass getFlowSpecification();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.portandflows.FlowSpecification#getBase_Interface
+	 * <em>Base Interface</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Interface</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowSpecification#getBase_Interface()
+	 * @see #getFlowSpecification()
+	 * @generated
+	 */
+	EReference getFlowSpecification_Base_Interface();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow <em>Item Flow</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Item Flow</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.ItemFlow
+	 * @generated
+	 */
+	EClass getItemFlow();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow#getBase_InformationFlow
+	 * <em>Base Information Flow</em>}'.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Information Flow</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.ItemFlow#getBase_InformationFlow()
+	 * @see #getItemFlow()
+	 * @generated
+	 */
+	EReference getItemFlow_Base_InformationFlow();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.portandflows.ItemFlow#getItemProperty <em>Item Property</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Item Property</em>'.
+	 * @see org.eclipse.papyrus.sysml.portandflows.ItemFlow#getItemProperty()
+	 * @see #getItemFlow()
+	 * @generated
+	 */
+	EReference getItemFlow_ItemProperty();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	PortandflowsFactory getPortandflowsFactory();
+
+} // PortandflowsPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowPortImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowPortImpl.java
new file mode 100644
index 0000000..976c13c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowPortImpl.java
@@ -0,0 +1,409 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.portandflows.FlowDirection;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+import org.eclipse.papyrus.sysml.portandflows.FlowSpecification;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Flow Port</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl#isAtomic <em>Is Atomic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl#isConjugated <em>Is Conjugated</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPortImpl#getDirection <em>Direction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FlowPortImpl extends MinimalEObjectImpl.Container implements FlowPort {
+
+	/**
+	 * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Port()
+	 * @generated
+	 * @ordered
+	 */
+	protected Port base_Port;
+
+	/**
+	 * The default value of the '{@link #isAtomic() <em>Is Atomic</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #isAtomic()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_ATOMIC_EDEFAULT = false;
+
+	/**
+	 * The default value of the '{@link #isConjugated() <em>Is Conjugated</em>}' attribute.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #isConjugated()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean IS_CONJUGATED_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isConjugated() <em>Is Conjugated</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #isConjugated()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean isConjugated = IS_CONJUGATED_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final FlowDirection DIRECTION_EDEFAULT = FlowDirection.INOUT;
+
+	/**
+	 * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected FlowDirection direction = DIRECTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected FlowPortImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Port basicGetBase_Port() {
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PORT__BASE_PORT:
+			if (resolve) {
+				return getBase_Port();
+			}
+			return basicGetBase_Port();
+		case PortandflowsPackage.FLOW_PORT__IS_ATOMIC:
+			return isAtomic();
+		case PortandflowsPackage.FLOW_PORT__IS_CONJUGATED:
+			return isConjugated();
+		case PortandflowsPackage.FLOW_PORT__DIRECTION:
+			return getDirection();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PORT__BASE_PORT:
+			return base_Port != null;
+		case PortandflowsPackage.FLOW_PORT__IS_ATOMIC:
+			return isAtomic() != IS_ATOMIC_EDEFAULT;
+		case PortandflowsPackage.FLOW_PORT__IS_CONJUGATED:
+			return isConjugated != IS_CONJUGATED_EDEFAULT;
+		case PortandflowsPackage.FLOW_PORT__DIRECTION:
+			return direction != DIRECTION_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+		case PortandflowsPackage.FLOW_PORT___GET_ICON:
+			return getIcon();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PORT__BASE_PORT:
+			setBase_Port((Port) newValue);
+			return;
+		case PortandflowsPackage.FLOW_PORT__IS_CONJUGATED:
+			setIsConjugated((Boolean) newValue);
+			return;
+		case PortandflowsPackage.FLOW_PORT__DIRECTION:
+			setDirection((FlowDirection) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortandflowsPackage.Literals.FLOW_PORT;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PORT__BASE_PORT:
+			setBase_Port((Port) null);
+			return;
+		case PortandflowsPackage.FLOW_PORT__IS_CONJUGATED:
+			setIsConjugated(IS_CONJUGATED_EDEFAULT);
+			return;
+		case PortandflowsPackage.FLOW_PORT__DIRECTION:
+			setDirection(DIRECTION_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Port getBase_Port() {
+		if (base_Port != null && base_Port.eIsProxy()) {
+			InternalEObject oldBase_Port = (InternalEObject) base_Port;
+			base_Port = (Port) eResolveProxy(oldBase_Port);
+			if (base_Port != oldBase_Port) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortandflowsPackage.FLOW_PORT__BASE_PORT, oldBase_Port, base_Port));
+				}
+			}
+		}
+		return base_Port;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public FlowDirection getDirection() {
+		return direction;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> Images registered in Profile are : 0 - FlowPort
+	 * (default, similar to INOUT) 1 - FlowPort IN 2 - FlowPort OUT 3 - FlowPort
+	 * INOUT 4 - FlowPort NA (Non Atomic) <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public Image getIcon() {
+
+		Image ImageNotFound = null;
+
+		if (getBase_Port() != null) {
+
+			Stereotype st = UMLUtil.getStereotype(this);
+
+			Image image = st.getIcons().get(0);
+
+			if (isAtomic()) {
+				if (getDirection() == FlowDirection.IN) {
+					image = st.getIcons().get(1);
+				} else if (getDirection() == FlowDirection.OUT) {
+					image = st.getIcons().get(2);
+				} else if (getDirection() == FlowDirection.INOUT) {
+					image = st.getIcons().get(3);
+				}
+
+			} else {
+				image = st.getIcons().get(4);
+			}
+
+			return image;
+
+		} else {
+			return ImageNotFound;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Port(Port newBase_Port) {
+		Port oldBase_Port = base_Port;
+		base_Port = newBase_Port;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.FLOW_PORT__BASE_PORT, oldBase_Port, base_Port));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public boolean isAtomic() {
+		// The FlowPort is Atomic if it is not typed by a FlowSpecification
+		Boolean isAtomic = true;
+		FlowSpecification flowSpec = null;
+
+		if (getBase_Port() != null) {
+			// Find FlowPort type
+			Type type = getBase_Port().getType();
+			if ((type != null) && (type instanceof Interface)) {
+				flowSpec = UMLUtil.getStereotypeApplication(type, FlowSpecification.class);
+			}
+
+			if (flowSpec != null) {
+				isAtomic = false;
+			}
+		}
+		return isAtomic;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public boolean isConjugated() {
+		return isConjugated;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setDirection(FlowDirection newDirection) {
+		FlowDirection oldDirection = direction;
+		direction = newDirection == null ? DIRECTION_EDEFAULT : newDirection;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.FLOW_PORT__DIRECTION, oldDirection, direction));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public void setIsAtomic(boolean newIsAtomic) {
+		// TODO: implement this method to set the 'Is Atomic' attribute
+		// Ensure that you remove @generated or mark it @generated NOT
+		// throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setIsConjugated(boolean newIsConjugated) {
+		boolean oldIsConjugated = isConjugated;
+		isConjugated = newIsConjugated;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.FLOW_PORT__IS_CONJUGATED, oldIsConjugated, isConjugated));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (isConjugated: ");
+		result.append(isConjugated);
+		result.append(", direction: ");
+		result.append(direction);
+		result.append(')');
+		return result.toString();
+	}
+
+} // FlowPortImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowPropertyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowPropertyImpl.java
new file mode 100644
index 0000000..07966b4
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowPropertyImpl.java
@@ -0,0 +1,293 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.portandflows.FlowDirection;
+import org.eclipse.papyrus.sysml.portandflows.FlowProperty;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.uml2.uml.Image;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Flow Property</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPropertyImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowPropertyImpl#getDirection <em>Direction</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FlowPropertyImpl extends MinimalEObjectImpl.Container implements FlowProperty {
+
+	/**
+	 * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Property()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property base_Property;
+
+	/**
+	 * The default value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final FlowDirection DIRECTION_EDEFAULT = FlowDirection.INOUT;
+
+	/**
+	 * The cached value of the '{@link #getDirection() <em>Direction</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getDirection()
+	 * @generated
+	 * @ordered
+	 */
+	protected FlowDirection direction = DIRECTION_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected FlowPropertyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetBase_Property() {
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+			if (resolve) {
+				return getBase_Property();
+			}
+			return basicGetBase_Property();
+		case PortandflowsPackage.FLOW_PROPERTY__DIRECTION:
+			return getDirection();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+			return base_Property != null;
+		case PortandflowsPackage.FLOW_PROPERTY__DIRECTION:
+			return direction != DIRECTION_EDEFAULT;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+		case PortandflowsPackage.FLOW_PROPERTY___GET_ICON:
+			return getIcon();
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) newValue);
+			return;
+		case PortandflowsPackage.FLOW_PROPERTY__DIRECTION:
+			setDirection((FlowDirection) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortandflowsPackage.Literals.FLOW_PROPERTY;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_PROPERTY__BASE_PROPERTY:
+			setBase_Property((Property) null);
+			return;
+		case PortandflowsPackage.FLOW_PROPERTY__DIRECTION:
+			setDirection(DIRECTION_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getBase_Property() {
+		if (base_Property != null && base_Property.eIsProxy()) {
+			InternalEObject oldBase_Property = (InternalEObject) base_Property;
+			base_Property = (Property) eResolveProxy(oldBase_Property);
+			if (base_Property != oldBase_Property) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortandflowsPackage.FLOW_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+				}
+			}
+		}
+		return base_Property;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public FlowDirection getDirection() {
+		return direction;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> Images registered in Profile are : 0 - FlowPort
+	 * (default, similar to INOUT) 1 - FlowPort IN 2 - FlowPort OUT 3 - FlowPort
+	 * INOUT <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public Image getIcon() {
+
+		Image ImageNotFound = null;
+
+		if (getBase_Property() != null) {
+			Stereotype st = UMLUtil.getStereotype(this);
+
+			Image image = st.getIcons().get(0);
+
+			if (getDirection() == FlowDirection.IN) {
+				image = st.getIcons().get(1);
+			} else if (getDirection() == FlowDirection.OUT) {
+				image = st.getIcons().get(2);
+			} else if (getDirection() == FlowDirection.INOUT) {
+				image = st.getIcons().get(3);
+			}
+
+			return image;
+
+		} else {
+			return ImageNotFound;
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Property(Property newBase_Property) {
+		Property oldBase_Property = base_Property;
+		base_Property = newBase_Property;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.FLOW_PROPERTY__BASE_PROPERTY, oldBase_Property, base_Property));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setDirection(FlowDirection newDirection) {
+		FlowDirection oldDirection = direction;
+		direction = newDirection == null ? DIRECTION_EDEFAULT : newDirection;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.FLOW_PROPERTY__DIRECTION, oldDirection, direction));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (direction: ");
+		result.append(direction);
+		result.append(')');
+		return result.toString();
+	}
+
+} // FlowPropertyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowSpecificationImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowSpecificationImpl.java
new file mode 100644
index 0000000..f5972e4
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/FlowSpecificationImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.portandflows.FlowSpecification;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.uml2.uml.Interface;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Flow Specification</b></em> '. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.FlowSpecificationImpl#getBase_Interface <em>Base Interface</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FlowSpecificationImpl extends MinimalEObjectImpl.Container implements FlowSpecification {
+
+	/**
+	 * The cached value of the '{@link #getBase_Interface() <em>Base Interface</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Interface()
+	 * @generated
+	 * @ordered
+	 */
+	protected Interface base_Interface;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected FlowSpecificationImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Interface basicGetBase_Interface() {
+		return base_Interface;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+			if (resolve) {
+				return getBase_Interface();
+			}
+			return basicGetBase_Interface();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+			return base_Interface != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+			setBase_Interface((Interface) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortandflowsPackage.Literals.FLOW_SPECIFICATION;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.FLOW_SPECIFICATION__BASE_INTERFACE:
+			setBase_Interface((Interface) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Interface getBase_Interface() {
+		if (base_Interface != null && base_Interface.eIsProxy()) {
+			InternalEObject oldBase_Interface = (InternalEObject) base_Interface;
+			base_Interface = (Interface) eResolveProxy(oldBase_Interface);
+			if (base_Interface != oldBase_Interface) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortandflowsPackage.FLOW_SPECIFICATION__BASE_INTERFACE, oldBase_Interface, base_Interface));
+				}
+			}
+		}
+		return base_Interface;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Interface(Interface newBase_Interface) {
+		Interface oldBase_Interface = base_Interface;
+		base_Interface = newBase_Interface;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.FLOW_SPECIFICATION__BASE_INTERFACE, oldBase_Interface, base_Interface));
+		}
+	}
+
+} // FlowSpecificationImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/ItemFlowImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/ItemFlowImpl.java
new file mode 100644
index 0000000..0226413
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/ItemFlowImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.sysml.portandflows.ItemFlow;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Item Flow</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.ItemFlowImpl#getBase_InformationFlow <em>Base Information Flow</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.portandflows.internal.impl.ItemFlowImpl#getItemProperty <em>Item Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ItemFlowImpl extends MinimalEObjectImpl.Container implements ItemFlow {
+
+	/**
+	 * The cached value of the '{@link #getBase_InformationFlow() <em>Base Information Flow</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_InformationFlow()
+	 * @generated
+	 * @ordered
+	 */
+	protected InformationFlow base_InformationFlow;
+
+	/**
+	 * The cached value of the '{@link #getItemProperty() <em>Item Property</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getItemProperty()
+	 * @generated
+	 * @ordered
+	 */
+	protected Property itemProperty;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ItemFlowImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InformationFlow basicGetBase_InformationFlow() {
+		return base_InformationFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property basicGetItemProperty() {
+		return itemProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case PortandflowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+			if (resolve) {
+				return getBase_InformationFlow();
+			}
+			return basicGetBase_InformationFlow();
+		case PortandflowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+			if (resolve) {
+				return getItemProperty();
+			}
+			return basicGetItemProperty();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+			return base_InformationFlow != null;
+		case PortandflowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+			return itemProperty != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case PortandflowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+			setBase_InformationFlow((InformationFlow) newValue);
+			return;
+		case PortandflowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+			setItemProperty((Property) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return PortandflowsPackage.Literals.ITEM_FLOW;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case PortandflowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW:
+			setBase_InformationFlow((InformationFlow) null);
+			return;
+		case PortandflowsPackage.ITEM_FLOW__ITEM_PROPERTY:
+			setItemProperty((Property) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public InformationFlow getBase_InformationFlow() {
+		if (base_InformationFlow != null && base_InformationFlow.eIsProxy()) {
+			InternalEObject oldBase_InformationFlow = (InternalEObject) base_InformationFlow;
+			base_InformationFlow = (InformationFlow) eResolveProxy(oldBase_InformationFlow);
+			if (base_InformationFlow != oldBase_InformationFlow) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortandflowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+				}
+			}
+		}
+		return base_InformationFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Property getItemProperty() {
+		if (itemProperty != null && itemProperty.eIsProxy()) {
+			InternalEObject oldItemProperty = (InternalEObject) itemProperty;
+			itemProperty = (Property) eResolveProxy(oldItemProperty);
+			if (itemProperty != oldItemProperty) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, PortandflowsPackage.ITEM_FLOW__ITEM_PROPERTY, oldItemProperty, itemProperty));
+				}
+			}
+		}
+		return itemProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_InformationFlow(InformationFlow newBase_InformationFlow) {
+		InformationFlow oldBase_InformationFlow = base_InformationFlow;
+		base_InformationFlow = newBase_InformationFlow;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.ITEM_FLOW__BASE_INFORMATION_FLOW, oldBase_InformationFlow, base_InformationFlow));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setItemProperty(Property newItemProperty) {
+		Property oldItemProperty = itemProperty;
+		itemProperty = newItemProperty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PortandflowsPackage.ITEM_FLOW__ITEM_PROPERTY, oldItemProperty, itemProperty));
+		}
+	}
+
+} // ItemFlowImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/PortandflowsFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/PortandflowsFactoryImpl.java
new file mode 100644
index 0000000..31eeae4
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/PortandflowsFactoryImpl.java
@@ -0,0 +1,201 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.portandflows.FlowDirection;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+import org.eclipse.papyrus.sysml.portandflows.FlowProperty;
+import org.eclipse.papyrus.sysml.portandflows.FlowSpecification;
+import org.eclipse.papyrus.sysml.portandflows.ItemFlow;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsFactory;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class PortandflowsFactoryImpl extends EFactoryImpl implements PortandflowsFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static PortandflowsPackage getPackage() {
+		return PortandflowsPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static PortandflowsFactory init() {
+		try {
+			PortandflowsFactory thePortandflowsFactory = (PortandflowsFactory) EPackage.Registry.INSTANCE.getEFactory(PortandflowsPackage.eNS_URI);
+			if (thePortandflowsFactory != null) {
+				return thePortandflowsFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new PortandflowsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String convertFlowDirectionToString(EDataType eDataType, Object instanceValue) {
+		return instanceValue == null ? null : instanceValue.toString();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+		case PortandflowsPackage.FLOW_DIRECTION:
+			return convertFlowDirectionToString(eDataType, instanceValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case PortandflowsPackage.FLOW_PORT:
+			return createFlowPort();
+		case PortandflowsPackage.FLOW_PROPERTY:
+			return createFlowProperty();
+		case PortandflowsPackage.FLOW_SPECIFICATION:
+			return createFlowSpecification();
+		case PortandflowsPackage.ITEM_FLOW:
+			return createItemFlow();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public FlowDirection createFlowDirectionFromString(EDataType eDataType, String initialValue) {
+		FlowDirection result = FlowDirection.get(initialValue);
+		if (result == null) {
+			throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+		}
+		return result;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public FlowPort createFlowPort() {
+		FlowPortImpl flowPort = new FlowPortImpl();
+		return flowPort;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public FlowProperty createFlowProperty() {
+		FlowPropertyImpl flowProperty = new FlowPropertyImpl();
+		return flowProperty;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public FlowSpecification createFlowSpecification() {
+		FlowSpecificationImpl flowSpecification = new FlowSpecificationImpl();
+		return flowSpecification;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+		case PortandflowsPackage.FLOW_DIRECTION:
+			return createFlowDirectionFromString(eDataType, initialValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public ItemFlow createItemFlow() {
+		ItemFlowImpl itemFlow = new ItemFlowImpl();
+		return itemFlow;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsPackage getPortandflowsPackage() {
+		return (PortandflowsPackage) getEPackage();
+	}
+
+} // PortandflowsFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/PortandflowsPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/PortandflowsPackageImpl.java
new file mode 100644
index 0000000..eec0216
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/internal/impl/PortandflowsPackageImpl.java
@@ -0,0 +1,468 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.FlowDirection;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+import org.eclipse.papyrus.sysml.portandflows.FlowProperty;
+import org.eclipse.papyrus.sysml.portandflows.FlowSpecification;
+import org.eclipse.papyrus.sysml.portandflows.ItemFlow;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsFactory;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class PortandflowsPackageImpl extends EPackageImpl implements PortandflowsPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link PortandflowsPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static PortandflowsPackage init() {
+		if (isInited) {
+			return (PortandflowsPackage) EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new PortandflowsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		thePortandflowsPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		thePortandflowsPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		thePortandflowsPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(PortandflowsPackage.eNS_URI, thePortandflowsPackage);
+		return thePortandflowsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass flowPortEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass flowPropertyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass flowSpecificationEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass itemFlowEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EEnum flowDirectionEEnum = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private PortandflowsPackageImpl() {
+		super(eNS_URI, PortandflowsFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		flowPortEClass = createEClass(FLOW_PORT);
+		createEReference(flowPortEClass, FLOW_PORT__BASE_PORT);
+		createEAttribute(flowPortEClass, FLOW_PORT__IS_ATOMIC);
+		createEAttribute(flowPortEClass, FLOW_PORT__IS_CONJUGATED);
+		createEAttribute(flowPortEClass, FLOW_PORT__DIRECTION);
+		createEOperation(flowPortEClass, FLOW_PORT___GET_ICON);
+
+		flowPropertyEClass = createEClass(FLOW_PROPERTY);
+		createEReference(flowPropertyEClass, FLOW_PROPERTY__BASE_PROPERTY);
+		createEAttribute(flowPropertyEClass, FLOW_PROPERTY__DIRECTION);
+		createEOperation(flowPropertyEClass, FLOW_PROPERTY___GET_ICON);
+
+		flowSpecificationEClass = createEClass(FLOW_SPECIFICATION);
+		createEReference(flowSpecificationEClass, FLOW_SPECIFICATION__BASE_INTERFACE);
+
+		itemFlowEClass = createEClass(ITEM_FLOW);
+		createEReference(itemFlowEClass, ITEM_FLOW__BASE_INFORMATION_FLOW);
+		createEReference(itemFlowEClass, ITEM_FLOW__ITEM_PROPERTY);
+
+		// Create enums
+		flowDirectionEEnum = createEEnum(FLOW_DIRECTION);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EEnum getFlowDirection() {
+		return flowDirectionEEnum;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getFlowPort() {
+		return flowPortEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getFlowPort_Base_Port() {
+		return (EReference) flowPortEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getFlowPort_Direction() {
+		return (EAttribute) flowPortEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EOperation getFlowPort__GetIcon() {
+		return flowPortEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getFlowPort_IsAtomic() {
+		return (EAttribute) flowPortEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getFlowPort_IsConjugated() {
+		return (EAttribute) flowPortEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getFlowProperty() {
+		return flowPropertyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getFlowProperty_Base_Property() {
+		return (EReference) flowPropertyEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getFlowProperty_Direction() {
+		return (EAttribute) flowPropertyEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EOperation getFlowProperty__GetIcon() {
+		return flowPropertyEClass.getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getFlowSpecification() {
+		return flowSpecificationEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getFlowSpecification_Base_Interface() {
+		return (EReference) flowSpecificationEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getItemFlow() {
+		return itemFlowEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getItemFlow_Base_InformationFlow() {
+		return (EReference) itemFlowEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getItemFlow_ItemProperty() {
+		return (EReference) itemFlowEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsFactory getPortandflowsFactory() {
+		return (PortandflowsFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(flowPortEClass, FlowPort.class, "FlowPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFlowPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, FlowPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFlowPort_IsAtomic(), theTypesPackage.getBoolean(), "isAtomic", "false", 1, 1, FlowPort.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFlowPort_IsConjugated(), theTypesPackage.getBoolean(), "isConjugated", null, 0, 1, FlowPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getFlowPort_Direction(), this.getFlowDirection(), "direction", "inout", 1, 1, FlowPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEOperation(getFlowPort__GetIcon(), theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+		initEClass(flowPropertyEClass, FlowProperty.class, "FlowProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFlowProperty_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, FlowProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEAttribute(getFlowProperty_Direction(), this.getFlowDirection(), "direction", "inout", 1, 1, FlowProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+		initEOperation(getFlowProperty__GetIcon(), theUMLPackage.getImage(), "getIcon", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+		initEClass(flowSpecificationEClass, FlowSpecification.class, "FlowSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getFlowSpecification_Base_Interface(), theUMLPackage.getInterface(), null, "base_Interface", null, 1, 1, FlowSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+
+		initEClass(itemFlowEClass, ItemFlow.class, "ItemFlow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getItemFlow_Base_InformationFlow(), theUMLPackage.getInformationFlow(), null, "base_InformationFlow", null, 1, 1, ItemFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE,
+				!IS_DERIVED, !IS_ORDERED);
+		initEReference(getItemFlow_ItemProperty(), theUMLPackage.getProperty(), null, "itemProperty", null, 0, 1, ItemFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		// Initialize enums and add enum literals
+		initEEnum(flowDirectionEEnum, FlowDirection.class, "FlowDirection");
+		addEEnumLiteral(flowDirectionEEnum, FlowDirection.IN);
+		addEEnumLiteral(flowDirectionEEnum, FlowDirection.OUT);
+		addEEnumLiteral(flowDirectionEEnum, FlowDirection.INOUT);
+	}
+
+} // PortandflowsPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsAdapterFactory.java
new file mode 100644
index 0000000..0602be1
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsAdapterFactory.java
@@ -0,0 +1,198 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+import org.eclipse.papyrus.sysml.portandflows.FlowProperty;
+import org.eclipse.papyrus.sysml.portandflows.FlowSpecification;
+import org.eclipse.papyrus.sysml.portandflows.ItemFlow;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage
+ * @generated
+ */
+public class PortandflowsAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static PortandflowsPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected PortandflowsSwitch<Adapter> modelSwitch = new PortandflowsSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseFlowPort(FlowPort object) {
+			return createFlowPortAdapter();
+		}
+
+		@Override
+		public Adapter caseFlowProperty(FlowProperty object) {
+			return createFlowPropertyAdapter();
+		}
+
+		@Override
+		public Adapter caseFlowSpecification(FlowSpecification object) {
+			return createFlowSpecificationAdapter();
+		}
+
+		@Override
+		public Adapter caseItemFlow(ItemFlow object) {
+			return createItemFlowAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = PortandflowsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.portandflows.FlowPort
+	 * <em>Flow Port</em>}'. <!-- begin-user-doc --> This default implementation
+	 * returns null so that we can easily ignore cases; it's useful to ignore a
+	 * case when inheritance will catch all the cases anyway. <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowPort
+	 * @generated
+	 */
+	public Adapter createFlowPortAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.portandflows.FlowProperty <em>Flow Property</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowProperty
+	 * @generated
+	 */
+	public Adapter createFlowPropertyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.portandflows.FlowSpecification <em>Flow Specification</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.portandflows.FlowSpecification
+	 * @generated
+	 */
+	public Adapter createFlowSpecificationAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.portandflows.ItemFlow
+	 * <em>Item Flow</em>}'. <!-- begin-user-doc --> This default implementation
+	 * returns null so that we can easily ignore cases; it's useful to ignore a
+	 * case when inheritance will catch all the cases anyway. <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.portandflows.ItemFlow
+	 * @generated
+	 */
+	public Adapter createItemFlowAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // PortandflowsAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsResourceFactoryImpl.java
new file mode 100644
index 0000000..d45550c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.util.PortandflowsResourceImpl
+ * @generated
+ */
+public class PortandflowsResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new PortandflowsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // PortandflowsResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsResourceImpl.java
new file mode 100644
index 0000000..f60d591
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.util.PortandflowsResourceFactoryImpl
+ * @generated
+ */
+public class PortandflowsResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public PortandflowsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // PortandflowsResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsSwitch.java
new file mode 100644
index 0000000..7720f93
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsSwitch.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.portandflows.FlowPort;
+import org.eclipse.papyrus.sysml.portandflows.FlowProperty;
+import org.eclipse.papyrus.sysml.portandflows.FlowSpecification;
+import org.eclipse.papyrus.sysml.portandflows.ItemFlow;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage
+ * @generated
+ */
+public class PortandflowsSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static PortandflowsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = PortandflowsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Flow Port</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Flow Port</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFlowPort(FlowPort object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Flow Property</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Flow Property</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFlowProperty(FlowProperty object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Flow Specification</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Flow Specification</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseFlowSpecification(FlowSpecification object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Item Flow</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Item Flow</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseItemFlow(ItemFlow object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case PortandflowsPackage.FLOW_PORT: {
+			FlowPort flowPort = (FlowPort) theEObject;
+			T result = caseFlowPort(flowPort);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case PortandflowsPackage.FLOW_PROPERTY: {
+			FlowProperty flowProperty = (FlowProperty) theEObject;
+			T result = caseFlowProperty(flowProperty);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case PortandflowsPackage.FLOW_SPECIFICATION: {
+			FlowSpecification flowSpecification = (FlowSpecification) theEObject;
+			T result = caseFlowSpecification(flowSpecification);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case PortandflowsPackage.ITEM_FLOW: {
+			ItemFlow itemFlow = (ItemFlow) theEObject;
+			T result = caseItemFlow(itemFlow);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+} // PortandflowsSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsXMLProcessor.java
new file mode 100644
index 0000000..6141f1f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/portandflows/util/PortandflowsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.portandflows.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PortandflowsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public PortandflowsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		PortandflowsPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the PortandflowsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new PortandflowsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new PortandflowsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // PortandflowsXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Copy.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Copy.java
new file mode 100644
index 0000000..67b3da7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Copy.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Copy</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getCopy()
+ * @model
+ * @generated
+ */
+public interface Copy extends org.eclipse.uml2.uml.profile.standard.Trace {
+} // Copy
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/DeriveReqt.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/DeriveReqt.java
new file mode 100644
index 0000000..b8fb791
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/DeriveReqt.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Derive Reqt</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getDeriveReqt()
+ * @model
+ * @generated
+ */
+public interface DeriveReqt extends org.eclipse.uml2.uml.profile.standard.Trace {
+} // DeriveReqt
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Requirement.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Requirement.java
new file mode 100644
index 0000000..4827ec3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Requirement.java
@@ -0,0 +1,372 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Requirement</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getText <em>Text</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getDerived <em>Derived</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getDerivedFrom <em>Derived From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getSatisfiedBy <em>Satisfied By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getRefinedBy <em>Refined By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getTracedTo <em>Traced To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getVerifiedBy <em>Verified By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getMaster <em>Master</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.Requirement#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement()
+ * @model
+ * @generated
+ */
+public interface Requirement extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Class</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Class</em>' reference.
+	 * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_Base_Class()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	org.eclipse.uml2.uml.Class getBase_Class();
+
+	/**
+	 * Returns the value of the '<em><b>Derived</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Derived</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Derived</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_Derived()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getDerived();
+
+	/**
+	 * Returns the value of the '<em><b>Derived From</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Derived From</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Derived From</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_DerivedFrom()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getDerivedFrom();
+
+	/**
+	 * Returns the value of the '<em><b>Id</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Id</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Id</em>' attribute.
+	 * @see #setId(String)
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_Id()
+	 * @model unique="false" required="true" ordered="false"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * Returns the value of the '<em><b>Master</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Master</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Master</em>' reference.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_Master()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	Requirement getMaster();
+
+	/**
+	 * Returns the value of the '<em><b>Refined By</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.uml2.uml.NamedElement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Refined By</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Refined By</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_RefinedBy()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<NamedElement> getRefinedBy();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Refined By</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getRefinedBy()
+	 * @generated
+	 */
+	NamedElement getRefinedBy(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Refined By</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getRefinedBy()
+	 * @generated
+	 */
+	NamedElement getRefinedBy(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Satisfied By</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Satisfied By</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Satisfied By</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_SatisfiedBy()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<NamedElement> getSatisfiedBy();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Satisfied By</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getSatisfiedBy()
+	 * @generated
+	 */
+	NamedElement getSatisfiedBy(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Satisfied By</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getSatisfiedBy()
+	 * @generated
+	 */
+	NamedElement getSatisfiedBy(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Text</b></em>' attribute. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Text</em>' attribute isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Text</em>' attribute.
+	 * @see #setText(String)
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_Text()
+	 * @model unique="false" required="true" ordered="false"
+	 * @generated
+	 */
+	String getText();
+
+	/**
+	 * Returns the value of the '<em><b>Traced To</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.uml2.uml.NamedElement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Traced To</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Traced To</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_TracedTo()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<NamedElement> getTracedTo();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Traced To</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getTracedTo()
+	 * @generated
+	 */
+	NamedElement getTracedTo(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Traced To</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getTracedTo()
+	 * @generated
+	 */
+	NamedElement getTracedTo(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Verified By</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.NamedElement}.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Verified By</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Verified By</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirement_VerifiedBy()
+	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @generated
+	 */
+	EList<NamedElement> getVerifiedBy();
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Verified By</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getVerifiedBy()
+	 * @generated
+	 */
+	NamedElement getVerifiedBy(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>' from the '<em><b>Verified By</b></em>'
+	 * reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param name
+	 *            The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @param ignoreCase
+	 *            Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass
+	 *            The Ecore class of the {@link org.eclipse.uml2.uml.NamedElement} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.NamedElement} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getVerifiedBy()
+	 * @generated
+	 */
+	NamedElement getVerifiedBy(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getBase_Class <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Class</em>' reference.
+	 * @see #getBase_Class()
+	 * @generated
+	 */
+	void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getId <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Id</em>' attribute.
+	 * @see #getId()
+	 * @generated
+	 */
+	void setId(String value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getText <em>Text</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Text</em>' attribute.
+	 * @see #getText()
+	 * @generated
+	 */
+	void setText(String value);
+
+} // Requirement
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementRelated.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementRelated.java
new file mode 100644
index 0000000..c0b446e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementRelated.java
@@ -0,0 +1,137 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Requirement Related</b></em> '. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getTracedFrom <em>Traced From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getSatisfies <em>Satisfies</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getRefines <em>Refines</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getVerifies <em>Verifies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirementRelated()
+ * @model
+ * @generated
+ */
+public interface RequirementRelated extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Named Element</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Named Element</em>' reference.
+	 * @see #setBase_NamedElement(NamedElement)
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirementRelated_Base_NamedElement()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	NamedElement getBase_NamedElement();
+
+	/**
+	 * Returns the value of the '<em><b>Refines</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Refines</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Refines</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirementRelated_Refines()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getRefines();
+
+	/**
+	 * Returns the value of the '<em><b>Satisfies</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Satisfies</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Satisfies</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirementRelated_Satisfies()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getSatisfies();
+
+	/**
+	 * Returns the value of the '<em><b>Traced From</b></em>' reference list.
+	 * The list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Traced From</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Traced From</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirementRelated_TracedFrom()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getTracedFrom();
+
+	/**
+	 * Returns the value of the '<em><b>Verifies</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Verifies</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Verifies</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getRequirementRelated_Verifies()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getVerifies();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getBase_NamedElement <em>Base Named Element</em>}'
+	 * reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Named Element</em>' reference.
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 */
+	void setBase_NamedElement(NamedElement value);
+
+} // RequirementRelated
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementsFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementsFactory.java
new file mode 100644
index 0000000..e7173a0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementsFactory.java
@@ -0,0 +1,115 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage
+ * @generated
+ */
+public interface RequirementsFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	RequirementsFactory eINSTANCE = org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsFactoryImpl.init();
+
+	/**
+	 * Returns a new object of class '<em>Copy</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Copy</em>'.
+	 * @generated
+	 */
+	Copy createCopy();
+
+	/**
+	 * Returns a new object of class '<em>Derive Reqt</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Derive Reqt</em>'.
+	 * @generated
+	 */
+	DeriveReqt createDeriveReqt();
+
+	/**
+	 * Returns a new object of class '<em>Requirement</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Requirement</em>'.
+	 * @generated
+	 */
+	Requirement createRequirement();
+
+	/**
+	 * Returns a new object of class '<em>Requirement Related</em>'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Requirement Related</em>'.
+	 * @generated
+	 */
+	RequirementRelated createRequirementRelated();
+
+	/**
+	 * Returns a new object of class '<em>Satisfy</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Satisfy</em>'.
+	 * @generated
+	 */
+	Satisfy createSatisfy();
+
+	/**
+	 * Returns a new object of class '<em>Test Case</em>'.
+	 * <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Test Case</em>'.
+	 * @generated
+	 */
+	TestCase createTestCase();
+
+	/**
+	 * Returns a new object of class '<em>Verify</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return a new object of class '<em>Verify</em>'.
+	 * @generated
+	 */
+	Verify createVerify();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	RequirementsPackage getRequirementsPackage();
+
+} // RequirementsFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementsPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementsPackage.java
new file mode 100644
index 0000000..47c20cf
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/RequirementsPackage.java
@@ -0,0 +1,996 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface RequirementsPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.DeriveReqtImpl <em>Derive Reqt</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.DeriveReqtImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getDeriveReqt()
+		 * @generated
+		 */
+		EClass DERIVE_REQT = eINSTANCE.getDeriveReqt();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.requirements.internal.impl.VerifyImpl
+		 * <em>Verify</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.VerifyImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getVerify()
+		 * @generated
+		 */
+		EClass VERIFY = eINSTANCE.getVerify();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.CopyImpl <em>Copy</em>}' class.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.CopyImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getCopy()
+		 * @generated
+		 */
+		EClass COPY = eINSTANCE.getCopy();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.requirements.internal.impl.SatisfyImpl
+		 * <em>Satisfy</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.SatisfyImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getSatisfy()
+		 * @generated
+		 */
+		EClass SATISFY = eINSTANCE.getSatisfy();
+
+		/**
+		 * The meta object literal for the ' {@link org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl
+		 * <em>Test Case</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+		 * -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getTestCase()
+		 * @generated
+		 */
+		EClass TEST_CASE = eINSTANCE.getTestCase();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Behavior</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference TEST_CASE__BASE_BEHAVIOR = eINSTANCE.getTestCase_Base_Behavior();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Operation</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference TEST_CASE__BASE_OPERATION = eINSTANCE.getTestCase_Base_Operation();
+
+		/**
+		 * The meta object literal for the '<em><b>Verifies</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference TEST_CASE__VERIFIES = eINSTANCE.getTestCase_Verifies();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl <em>Requirement</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getRequirement()
+		 * @generated
+		 */
+		EClass REQUIREMENT = eINSTANCE.getRequirement();
+
+		/**
+		 * The meta object literal for the '<em><b>Text</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute REQUIREMENT__TEXT = eINSTANCE.getRequirement_Text();
+
+		/**
+		 * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute REQUIREMENT__ID = eINSTANCE.getRequirement_Id();
+
+		/**
+		 * The meta object literal for the '<em><b>Derived</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__DERIVED = eINSTANCE.getRequirement_Derived();
+
+		/**
+		 * The meta object literal for the '<em><b>Derived From</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__DERIVED_FROM = eINSTANCE.getRequirement_DerivedFrom();
+
+		/**
+		 * The meta object literal for the '<em><b>Satisfied By</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__SATISFIED_BY = eINSTANCE.getRequirement_SatisfiedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Refined By</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__REFINED_BY = eINSTANCE.getRequirement_RefinedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Traced To</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__TRACED_TO = eINSTANCE.getRequirement_TracedTo();
+
+		/**
+		 * The meta object literal for the '<em><b>Verified By</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__VERIFIED_BY = eINSTANCE.getRequirement_VerifiedBy();
+
+		/**
+		 * The meta object literal for the '<em><b>Master</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__MASTER = eINSTANCE.getRequirement_Master();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT__BASE_CLASS = eINSTANCE.getRequirement_Base_Class();
+
+		/**
+		 * The meta object literal for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl
+		 * <em>Requirement Related</em>}' class.
+		 * <!-- begin-user-doc --> <!--
+		 * end-user-doc -->
+		 *
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl
+		 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getRequirementRelated()
+		 * @generated
+		 */
+		EClass REQUIREMENT_RELATED = eINSTANCE.getRequirementRelated();
+
+		/**
+		 * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT_RELATED__BASE_NAMED_ELEMENT = eINSTANCE.getRequirementRelated_Base_NamedElement();
+
+		/**
+		 * The meta object literal for the '<em><b>Traced From</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT_RELATED__TRACED_FROM = eINSTANCE.getRequirementRelated_TracedFrom();
+
+		/**
+		 * The meta object literal for the '<em><b>Satisfies</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT_RELATED__SATISFIES = eINSTANCE.getRequirementRelated_Satisfies();
+
+		/**
+		 * The meta object literal for the '<em><b>Refines</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT_RELATED__REFINES = eINSTANCE.getRequirementRelated_Refines();
+
+		/**
+		 * The meta object literal for the '<em><b>Verifies</b></em>' reference list feature.
+		 * <!-- begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EReference REQUIREMENT_RELATED__VERIFIES = eINSTANCE.getRequirementRelated_Verifies();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "requirements";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "Requirements";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	RequirementsPackage eINSTANCE = org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl.init();
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.requirements.internal.impl.DeriveReqtImpl
+	 * <em>Derive Reqt</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.DeriveReqtImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getDeriveReqt()
+	 * @generated
+	 */
+	int DERIVE_REQT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT__BASE_ABSTRACTION = StandardPackage.TRACE__BASE_ABSTRACTION;
+
+	/**
+	 * The number of structural features of the '<em>Derive Reqt</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT_FEATURE_COUNT = StandardPackage.TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Derive Reqt</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int DERIVE_REQT_OPERATION_COUNT = StandardPackage.TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.VerifyImpl <em>Verify</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.VerifyImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getVerify()
+	 * @generated
+	 */
+	int VERIFY = 1;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY__BASE_ABSTRACTION = StandardPackage.TRACE__BASE_ABSTRACTION;
+
+	/**
+	 * The number of structural features of the '<em>Verify</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY_FEATURE_COUNT = StandardPackage.TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Verify</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int VERIFY_OPERATION_COUNT = StandardPackage.TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.CopyImpl <em>Copy</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.CopyImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getCopy()
+	 * @generated
+	 */
+	int COPY = 2;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int COPY__BASE_ABSTRACTION = StandardPackage.TRACE__BASE_ABSTRACTION;
+
+	/**
+	 * The number of structural features of the '<em>Copy</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_FEATURE_COUNT = StandardPackage.TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Copy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int COPY_OPERATION_COUNT = StandardPackage.TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.SatisfyImpl <em>Satisfy</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.SatisfyImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getSatisfy()
+	 * @generated
+	 */
+	int SATISFY = 3;
+
+	/**
+	 * The feature id for the '<em><b>Base Abstraction</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY__BASE_ABSTRACTION = StandardPackage.TRACE__BASE_ABSTRACTION;
+
+	/**
+	 * The number of structural features of the '<em>Satisfy</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY_FEATURE_COUNT = StandardPackage.TRACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of operations of the '<em>Satisfy</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int SATISFY_OPERATION_COUNT = StandardPackage.TRACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl <em>Test Case</em>}' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getTestCase()
+	 * @generated
+	 */
+	int TEST_CASE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Base Behavior</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_CASE__BASE_BEHAVIOR = 0;
+
+	/**
+	 * The feature id for the '<em><b>Base Operation</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_CASE__BASE_OPERATION = 1;
+
+	/**
+	 * The feature id for the '<em><b>Verifies</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_CASE__VERIFIES = 2;
+
+	/**
+	 * The number of structural features of the '<em>Test Case</em>' class. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_CASE_FEATURE_COUNT = 3;
+
+	/**
+	 * The number of operations of the '<em>Test Case</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_CASE_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the ' {@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl
+	 * <em>Requirement</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getRequirement()
+	 * @generated
+	 */
+	int REQUIREMENT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Text</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__TEXT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Id</b></em>' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__ID = 1;
+
+	/**
+	 * The feature id for the '<em><b>Derived</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__DERIVED = 2;
+
+	/**
+	 * The feature id for the '<em><b>Derived From</b></em>' reference list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__DERIVED_FROM = 3;
+
+	/**
+	 * The feature id for the '<em><b>Satisfied By</b></em>' reference list.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__SATISFIED_BY = 4;
+
+	/**
+	 * The feature id for the '<em><b>Refined By</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__REFINED_BY = 5;
+
+	/**
+	 * The feature id for the '<em><b>Traced To</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__TRACED_TO = 6;
+
+	/**
+	 * The feature id for the '<em><b>Verified By</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__VERIFIED_BY = 7;
+
+	/**
+	 * The feature id for the '<em><b>Master</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__MASTER = 8;
+
+	/**
+	 * The feature id for the '<em><b>Base Class</b></em>' reference. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT__BASE_CLASS = 9;
+
+	/**
+	 * The number of structural features of the '<em>Requirement</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_FEATURE_COUNT = 10;
+
+	/**
+	 * The number of operations of the '<em>Requirement</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_OPERATION_COUNT = 0;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl <em>Requirement Related</em>}'
+	 * class.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl
+	 * @see org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl#getRequirementRelated()
+	 * @generated
+	 */
+	int REQUIREMENT_RELATED = 6;
+
+	/**
+	 * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED__BASE_NAMED_ELEMENT = 0;
+
+	/**
+	 * The feature id for the '<em><b>Traced From</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED__TRACED_FROM = 1;
+
+	/**
+	 * The feature id for the '<em><b>Satisfies</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED__SATISFIES = 2;
+
+	/**
+	 * The feature id for the '<em><b>Refines</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED__REFINES = 3;
+
+	/**
+	 * The feature id for the '<em><b>Verifies</b></em>' reference list. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED__VERIFIES = 4;
+
+	/**
+	 * The number of structural features of the '<em>Requirement Related</em>' class.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED_FEATURE_COUNT = 5;
+
+	/**
+	 * The number of operations of the '<em>Requirement Related</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int REQUIREMENT_RELATED_OPERATION_COUNT = 0;
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.requirements.Copy <em>Copy</em>}'. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Copy</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Copy
+	 * @generated
+	 */
+	EClass getCopy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.requirements.DeriveReqt <em>Derive Reqt</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Derive Reqt</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.DeriveReqt
+	 * @generated
+	 */
+	EClass getDeriveReqt();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.requirements.Requirement <em>Requirement</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Requirement</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement
+	 * @generated
+	 */
+	EClass getRequirement();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getBase_Class <em>Base Class</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Class</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getBase_Class()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_Base_Class();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getDerived <em>Derived</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Derived</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getDerived()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_Derived();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getDerivedFrom <em>Derived From</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Derived From</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getDerivedFrom()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_DerivedFrom();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getId <em>Id</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Id</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getId()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EAttribute getRequirement_Id();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getMaster <em>Master</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Master</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getMaster()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_Master();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getRefinedBy <em>Refined By</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Refined By</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getRefinedBy()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_RefinedBy();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getSatisfiedBy <em>Satisfied By</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Satisfied By</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getSatisfiedBy()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_SatisfiedBy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getText <em>Text</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Text</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getText()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EAttribute getRequirement_Text();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getTracedTo <em>Traced To</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Traced To</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getTracedTo()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_TracedTo();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.Requirement#getVerifiedBy <em>Verified By</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Verified By</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement#getVerifiedBy()
+	 * @see #getRequirement()
+	 * @generated
+	 */
+	EReference getRequirement_VerifiedBy();
+
+	/**
+	 * Returns the meta object for class ' {@link org.eclipse.papyrus.sysml.requirements.RequirementRelated
+	 * <em>Requirement Related</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for class '<em>Requirement Related</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated
+	 * @generated
+	 */
+	EClass getRequirementRelated();
+
+	/**
+	 * Returns the meta object for the reference ' {@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getBase_NamedElement
+	 * <em>Base Named Element</em>}'. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the meta object for the reference '<em>Base Named Element</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated#getBase_NamedElement()
+	 * @see #getRequirementRelated()
+	 * @generated
+	 */
+	EReference getRequirementRelated_Base_NamedElement();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getRefines <em>Refines</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Refines</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated#getRefines()
+	 * @see #getRequirementRelated()
+	 * @generated
+	 */
+	EReference getRequirementRelated_Refines();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getSatisfies
+	 * <em>Satisfies</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Satisfies</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated#getSatisfies()
+	 * @see #getRequirementRelated()
+	 * @generated
+	 */
+	EReference getRequirementRelated_Satisfies();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getTracedFrom
+	 * <em>Traced From</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Traced From</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated#getTracedFrom()
+	 * @see #getRequirementRelated()
+	 * @generated
+	 */
+	EReference getRequirementRelated_TracedFrom();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated#getVerifies <em>Verifies</em>} '.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Verifies</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated#getVerifies()
+	 * @see #getRequirementRelated()
+	 * @generated
+	 */
+	EReference getRequirementRelated_Verifies();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	RequirementsFactory getRequirementsFactory();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.requirements.Satisfy <em>Satisfy</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Satisfy</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Satisfy
+	 * @generated
+	 */
+	EClass getSatisfy();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.requirements.TestCase <em>Test Case</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Test Case</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.TestCase
+	 * @generated
+	 */
+	EClass getTestCase();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Behavior <em>Base Behavior</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Behavior</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Behavior()
+	 * @see #getTestCase()
+	 * @generated
+	 */
+	EReference getTestCase_Base_Behavior();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Operation <em>Base Operation</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference '<em>Base Operation</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Operation()
+	 * @see #getTestCase()
+	 * @generated
+	 */
+	EReference getTestCase_Base_Operation();
+
+	/**
+	 * Returns the meta object for the reference list '{@link org.eclipse.papyrus.sysml.requirements.TestCase#getVerifies <em>Verifies</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the reference list '<em>Verifies</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.TestCase#getVerifies()
+	 * @see #getTestCase()
+	 * @generated
+	 */
+	EReference getTestCase_Verifies();
+
+	/**
+	 * Returns the meta object for class '{@link org.eclipse.papyrus.sysml.requirements.Verify <em>Verify</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for class '<em>Verify</em>'.
+	 * @see org.eclipse.papyrus.sysml.requirements.Verify
+	 * @generated
+	 */
+	EClass getVerify();
+
+} // RequirementsPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Satisfy.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Satisfy.java
new file mode 100644
index 0000000..c111dd2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Satisfy.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Satisfy</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getSatisfy()
+ * @model
+ * @generated
+ */
+public interface Satisfy extends org.eclipse.uml2.uml.profile.standard.Trace {
+
+} // Satisfy
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/TestCase.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/TestCase.java
new file mode 100644
index 0000000..ffbf7e5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/TestCase.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Test Case</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.TestCase#getVerifies <em>Verifies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getTestCase()
+ * @model
+ * @generated
+ */
+public interface TestCase extends EObject {
+
+	/**
+	 * Returns the value of the '<em><b>Base Behavior</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Behavior</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Behavior</em>' reference.
+	 * @see #setBase_Behavior(Behavior)
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getTestCase_Base_Behavior()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Behavior getBase_Behavior();
+
+	/**
+	 * Returns the value of the '<em><b>Base Operation</b></em>' reference. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Base Operation</em>' reference isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Base Operation</em>' reference.
+	 * @see #setBase_Operation(Operation)
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getTestCase_Base_Operation()
+	 * @model required="true" ordered="false"
+	 * @generated
+	 */
+	Operation getBase_Operation();
+
+	/**
+	 * Returns the value of the '<em><b>Verifies</b></em>' reference list. The
+	 * list contents are of type {@link org.eclipse.papyrus.sysml.requirements.Requirement}. <!--
+	 * begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Verifies</em>' reference list isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Verifies</em>' reference list.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getTestCase_Verifies()
+	 * @model transient="true" changeable="false" volatile="true" derived="true"
+	 *        ordered="false"
+	 * @generated
+	 */
+	EList<Requirement> getVerifies();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Behavior <em>Base Behavior</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Behavior</em>' reference.
+	 * @see #getBase_Behavior()
+	 * @generated
+	 */
+	void setBase_Behavior(Behavior value);
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.sysml.requirements.TestCase#getBase_Operation <em>Base Operation</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param value
+	 *            the new value of the '<em>Base Operation</em>' reference.
+	 * @see #getBase_Operation()
+	 * @generated
+	 */
+	void setBase_Operation(Operation value);
+
+} // TestCase
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/VerdictKind.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/VerdictKind.java
new file mode 100644
index 0000000..9df6752
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/VerdictKind.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration ' <em><b>Verdict Kind</b></em>', and utility methods for working with
+ * them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getVerdictKind()
+ * @model
+ * @generated
+ */
+public enum VerdictKind implements Enumerator {
+	/**
+	 * The '<em><b>Pass</b></em>' literal object. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #PASS_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	PASS(0, "pass", "pass"),
+
+	/**
+	 * The '<em><b>Fail</b></em>' literal object. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #FAIL_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	FAIL(1, "fail", "fail"),
+
+	/**
+	 * The '<em><b>Inconclusive</b></em>' literal object. <!-- begin-user-doc
+	 * --> <!-- end-user-doc -->
+	 *
+	 * @see #INCONCLUSIVE_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	INCONCLUSIVE(2, "inconclusive", "inconclusive"),
+
+	/**
+	 * The '<em><b>Error</b></em>' literal object. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #ERROR_VALUE
+	 * @generated
+	 * @ordered
+	 */
+	ERROR(3, "error", "error");
+
+	/**
+	 * The '<em><b>Pass</b></em>' literal value. <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Pass</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #PASS
+	 * @model name="pass"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int PASS_VALUE = 0;
+
+	/**
+	 * The '<em><b>Fail</b></em>' literal value. <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Fail</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #FAIL
+	 * @model name="fail"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int FAIL_VALUE = 1;
+
+	/**
+	 * The '<em><b>Inconclusive</b></em>' literal value. <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Inconclusive</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #INCONCLUSIVE
+	 * @model name="inconclusive"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int INCONCLUSIVE_VALUE = 2;
+
+	/**
+	 * The '<em><b>Error</b></em>' literal value. <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of '<em><b>Error</b></em>' literal object isn't clear, there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #ERROR
+	 * @model name="error"
+	 * @generated
+	 * @ordered
+	 */
+	public static final int ERROR_VALUE = 3;
+
+	/**
+	 * An array of all the '<em><b>Verdict Kind</b></em>' enumerators. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static final VerdictKind[] VALUES_ARRAY = new VerdictKind[] { PASS, FAIL, INCONCLUSIVE, ERROR, };
+
+	/**
+	 * A public read-only list of all the '<em><b>Verdict Kind</b></em>'
+	 * enumerators. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static final List<VerdictKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+	/**
+	 * Returns the '<em><b>Verdict Kind</b></em>' literal with the specified
+	 * integer value. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static VerdictKind get(int value) {
+		switch (value) {
+		case PASS_VALUE:
+			return PASS;
+		case FAIL_VALUE:
+			return FAIL;
+		case INCONCLUSIVE_VALUE:
+			return INCONCLUSIVE;
+		case ERROR_VALUE:
+			return ERROR;
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Verdict Kind</b></em>' literal with the specified
+	 * literal value. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static VerdictKind get(String literal) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			VerdictKind result = VALUES_ARRAY[i];
+			if (result.toString().equals(literal)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns the '<em><b>Verdict Kind</b></em>' literal with the specified
+	 * name. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static VerdictKind getByName(String name) {
+		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+			VerdictKind result = VALUES_ARRAY[i];
+			if (result.getName().equals(name)) {
+				return result;
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private final int value;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private final String name;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private final String literal;
+
+	/**
+	 * Only this class can construct instances. <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private VerdictKind(int value, String name, String literal) {
+		this.value = value;
+		this.name = name;
+		this.literal = literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getLiteral() {
+		return literal;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public int getValue() {
+		return value;
+	}
+
+	/**
+	 * Returns the literal value of the enumerator, which is its string
+	 * representation. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		return literal;
+	}
+
+} // VerdictKind
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Verify.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Verify.java
new file mode 100644
index 0000000..b7f1f09
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/Verify.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object ' <em><b>Verify</b></em>'. <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#getVerify()
+ * @model
+ * @generated
+ */
+public interface Verify extends org.eclipse.uml2.uml.profile.standard.Trace {
+} // Verify
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/CopyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/CopyImpl.java
new file mode 100644
index 0000000..bd171d3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/CopyImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Copy</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CopyImpl extends org.eclipse.uml2.uml.profile.standard.internal.impl.TraceImpl implements Copy {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected CopyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.COPY;
+	}
+
+} // CopyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/DeriveReqtImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/DeriveReqtImpl.java
new file mode 100644
index 0000000..5964f59
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/DeriveReqtImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Derive Reqt</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DeriveReqtImpl extends org.eclipse.uml2.uml.profile.standard.internal.impl.TraceImpl implements DeriveReqt {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected DeriveReqtImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.DERIVE_REQT;
+	}
+
+} // DeriveReqtImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementImpl.java
new file mode 100644
index 0000000..8f383b5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementImpl.java
@@ -0,0 +1,708 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.profile.standard.Refine;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Trace;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Requirement</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getText <em>Text</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getDerived <em>Derived</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getDerivedFrom <em>Derived From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getSatisfiedBy <em>Satisfied By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getRefinedBy <em>Refined By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getTracedTo <em>Traced To</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getVerifiedBy <em>Verified By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getMaster <em>Master</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementImpl extends MinimalEObjectImpl.Container implements Requirement {
+
+	/**
+	 * The default value of the '{@link #getText() <em>Text</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getText()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String TEXT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getText() <em>Text</em>}' attribute.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getText()
+	 * @generated
+	 * @ordered
+	 */
+	protected String text = TEXT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected String id = ID_EDEFAULT;
+
+	/**
+	 * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #getBase_Class()
+	 * @generated
+	 * @ordered
+	 */
+	protected org.eclipse.uml2.uml.Class base_Class;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected RequirementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public Requirement basicGetMaster() {
+		// The Requirement is the supplier of the Copy link between the master
+		// Requirement and
+		// current
+		// This should return the TestCase verifying current Requirement
+		Requirement master = null;
+		Copy currentCopy = null;
+
+		if (getBase_Class() != null) {
+			Iterator<Dependency> itDep = getBase_Class().getClientDependencies().iterator();
+
+			// Find Copy link
+			while (itDep.hasNext()) {
+				Dependency currentDep = itDep.next();
+				currentCopy = UMLUtil.getStereotypeApplication(currentDep, Copy.class);
+
+				if (currentCopy != null) {
+					EList<NamedElement> suppliers = currentCopy.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext() && (master == null)) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							master = currentRequirement;
+						}
+					}
+				}
+			}
+		}
+		return master;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT__TEXT:
+			return getText();
+		case RequirementsPackage.REQUIREMENT__ID:
+			return getId();
+		case RequirementsPackage.REQUIREMENT__DERIVED:
+			return getDerived();
+		case RequirementsPackage.REQUIREMENT__DERIVED_FROM:
+			return getDerivedFrom();
+		case RequirementsPackage.REQUIREMENT__SATISFIED_BY:
+			return getSatisfiedBy();
+		case RequirementsPackage.REQUIREMENT__REFINED_BY:
+			return getRefinedBy();
+		case RequirementsPackage.REQUIREMENT__TRACED_TO:
+			return getTracedTo();
+		case RequirementsPackage.REQUIREMENT__VERIFIED_BY:
+			return getVerifiedBy();
+		case RequirementsPackage.REQUIREMENT__MASTER:
+			if (resolve) {
+				return getMaster();
+			}
+			return basicGetMaster();
+		case RequirementsPackage.REQUIREMENT__BASE_CLASS:
+			if (resolve) {
+				return getBase_Class();
+			}
+			return basicGetBase_Class();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT__TEXT:
+			return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
+		case RequirementsPackage.REQUIREMENT__ID:
+			return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+		case RequirementsPackage.REQUIREMENT__DERIVED:
+			return !getDerived().isEmpty();
+		case RequirementsPackage.REQUIREMENT__DERIVED_FROM:
+			return !getDerivedFrom().isEmpty();
+		case RequirementsPackage.REQUIREMENT__SATISFIED_BY:
+			return !getSatisfiedBy().isEmpty();
+		case RequirementsPackage.REQUIREMENT__REFINED_BY:
+			return !getRefinedBy().isEmpty();
+		case RequirementsPackage.REQUIREMENT__TRACED_TO:
+			return !getTracedTo().isEmpty();
+		case RequirementsPackage.REQUIREMENT__VERIFIED_BY:
+			return !getVerifiedBy().isEmpty();
+		case RequirementsPackage.REQUIREMENT__MASTER:
+			return basicGetMaster() != null;
+		case RequirementsPackage.REQUIREMENT__BASE_CLASS:
+			return base_Class != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT__TEXT:
+			setText((String) newValue);
+			return;
+		case RequirementsPackage.REQUIREMENT__ID:
+			setId((String) newValue);
+			return;
+		case RequirementsPackage.REQUIREMENT__BASE_CLASS:
+			setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.REQUIREMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT__TEXT:
+			setText(TEXT_EDEFAULT);
+			return;
+		case RequirementsPackage.REQUIREMENT__ID:
+			setId(ID_EDEFAULT);
+			return;
+		case RequirementsPackage.REQUIREMENT__BASE_CLASS:
+			setBase_Class((org.eclipse.uml2.uml.Class) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public org.eclipse.uml2.uml.Class getBase_Class() {
+		if (base_Class != null && base_Class.eIsProxy()) {
+			InternalEObject oldBase_Class = (InternalEObject) base_Class;
+			base_Class = (org.eclipse.uml2.uml.Class) eResolveProxy(oldBase_Class);
+			if (base_Class != oldBase_Class) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REQUIREMENT__BASE_CLASS, oldBase_Class, base_Class));
+				}
+			}
+		}
+		return base_Class;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getDerived() {
+		// This should return the Requirement(s) derived from current
+		EList<Requirement> derived = new BasicEList<Requirement>();
+		DeriveReqt currentDeriveReqt = null;
+
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDirectedRelationship = itDep.next();
+				currentDeriveReqt = UMLUtil.getStereotypeApplication(currentDirectedRelationship, DeriveReqt.class);
+
+				if (currentDeriveReqt != null) {
+					EList<NamedElement> clients = currentDeriveReqt.getBase_Abstraction().getClients();
+					Iterator<NamedElement> it = clients.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							derived.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getRequirement_Derived(), derived.size(), derived.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getDerivedFrom() {
+		// This should return the Requirement(s) this Requirement is derived
+		// from
+		EList<Requirement> derivedFrom = new BasicEList<Requirement>();
+		DeriveReqt currentDeriveReqt = null;
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getSourceDirectedRelationships().iterator();
+
+			// Find DeriveReqt link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				currentDeriveReqt = UMLUtil.getStereotypeApplication(currentDRelationship, DeriveReqt.class);
+
+				if (currentDeriveReqt != null) {
+					EList<NamedElement> suppliers = currentDeriveReqt.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							derivedFrom.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getRequirement_DerivedFrom(), derivedFrom.size(), derivedFrom.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getId() {
+		return id;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Requirement getMaster() {
+		Requirement master = basicGetMaster();
+		return master != null && master.eIsProxy() ? (Requirement) eResolveProxy((InternalEObject) master) : master;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<NamedElement> getRefinedBy() {
+		// This should return the NamedElement(s) that refine current
+		// Requirement
+		EList<NamedElement> refinedBy = new BasicEList<NamedElement>();
+		Refine currentRefine = null;
+
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Refine link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				currentRefine = UMLUtil.getStereotypeApplication(currentDRelationship, Refine.class);
+
+				if (currentRefine != null) {
+					refinedBy.addAll(currentRefine.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		UnmodifiableEList<NamedElement> resultList = new UnmodifiableEList<NamedElement>(this, RequirementsPackage.eINSTANCE.getRequirement_RefinedBy(), refinedBy.size(), refinedBy.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getRefinedBy(String name) {
+		return getRefinedBy(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getRefinedBy(String name, boolean ignoreCase, EClass eClass) {
+		refinedByLoop: for (NamedElement refinedBy : getRefinedBy()) {
+			if (eClass != null && !eClass.isInstance(refinedBy)) {
+				continue refinedByLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(refinedBy.getName()) : name.equals(refinedBy.getName()))) {
+				continue refinedByLoop;
+			}
+			return refinedBy;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<NamedElement> getSatisfiedBy() {
+		// This should return the NamedElement(s) that satisfy current
+		// Requirement
+		EList<NamedElement> satisfyBy = new BasicEList<NamedElement>();
+		Satisfy currentSatisfy = null;
+
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Satisfy link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				currentSatisfy = UMLUtil.getStereotypeApplication(currentDRelationship, Satisfy.class);
+
+				if (currentSatisfy != null) {
+					satisfyBy.addAll(currentSatisfy.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		UnmodifiableEList<NamedElement> resultList = new UnmodifiableEList<NamedElement>(this, RequirementsPackage.eINSTANCE.getRequirement_SatisfiedBy(), satisfyBy.size(), satisfyBy.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getSatisfiedBy(String name) {
+		return getSatisfiedBy(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getSatisfiedBy(String name, boolean ignoreCase, EClass eClass) {
+		satisfiedByLoop: for (NamedElement satisfiedBy : getSatisfiedBy()) {
+			if (eClass != null && !eClass.isInstance(satisfiedBy)) {
+				continue satisfiedByLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(satisfiedBy.getName()) : name.equals(satisfiedBy.getName()))) {
+				continue satisfiedByLoop;
+			}
+			return satisfiedBy;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String getText() {
+		return text;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<NamedElement> getTracedTo() {
+		// This should return the NamedElement(s) traced by current Requirement
+		// SysML spec. : Derived from all elements that are the client of a
+		// «trace» relationship
+		// for which this requirement is a supplier.
+		EList<NamedElement> tracedTo = new BasicEList<NamedElement>();
+		Trace currentTrace = null;
+
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Trace link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDR = itDep.next();
+				currentTrace = UMLUtil.getStereotypeApplication(currentDR, Trace.class);
+
+				// Must be a Trace not a subtype (see bug #352563).
+				if ((currentTrace != null) && (currentTrace.eClass() == StandardPackage.eINSTANCE.getTrace())) {
+					EList<NamedElement> suppliers = currentTrace.getBase_Abstraction().getClients();
+					tracedTo.addAll(suppliers);
+				}
+			}
+		}
+
+		UnmodifiableEList<NamedElement> resultList = new UnmodifiableEList<NamedElement>(this, RequirementsPackage.eINSTANCE.getRequirement_TracedTo(), tracedTo.size(), tracedTo.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getTracedTo(String name) {
+		return getTracedTo(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getTracedTo(String name, boolean ignoreCase, EClass eClass) {
+		tracedToLoop: for (NamedElement tracedTo : getTracedTo()) {
+			if (eClass != null && !eClass.isInstance(tracedTo)) {
+				continue tracedToLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(tracedTo.getName()) : name.equals(tracedTo.getName()))) {
+				continue tracedToLoop;
+			}
+			return tracedTo;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<NamedElement> getVerifiedBy() {
+		// This should return the list of NamedElement verifying current
+		// Requirement
+		EList<NamedElement> verifiedBy = new BasicEList<NamedElement>();
+		Verify currentVerify = null;
+
+		if (getBase_Class() != null) {
+			Iterator<DirectedRelationship> itDep = getBase_Class().getTargetDirectedRelationships().iterator();
+
+			// Find Verify link
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				currentVerify = UMLUtil.getStereotypeApplication(currentDRelationship, Verify.class);
+
+				if (currentVerify != null) {
+					verifiedBy.addAll(currentVerify.getBase_Abstraction().getClients());
+				}
+			}
+		}
+
+		UnmodifiableEList<NamedElement> resultList = new UnmodifiableEList<NamedElement>(this, RequirementsPackage.eINSTANCE.getRequirement_VerifiedBy(), verifiedBy.size(), verifiedBy.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getVerifiedBy(String name) {
+		return getVerifiedBy(name, false, null);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getVerifiedBy(String name, boolean ignoreCase, EClass eClass) {
+		verifiedByLoop: for (NamedElement verifiedBy : getVerifiedBy()) {
+			if (eClass != null && !eClass.isInstance(verifiedBy)) {
+				continue verifiedByLoop;
+			}
+			if (name != null && !(ignoreCase ? name.equalsIgnoreCase(verifiedBy.getName()) : name.equals(verifiedBy.getName()))) {
+				continue verifiedByLoop;
+			}
+			return verifiedBy;
+		}
+		return null;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+		org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+		base_Class = newBase_Class;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__BASE_CLASS, oldBase_Class, base_Class));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setId(String newId) {
+		String oldId = id;
+		id = newId;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__ID, oldId, id));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public void setMaster(Requirement newMaster) {
+
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setText(String newText) {
+		String oldText = text;
+		text = newText;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT__TEXT, oldText, text));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String toString() {
+		if (eIsProxy()) {
+			return super.toString();
+		}
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (text: ");
+		result.append(text);
+		result.append(", id: ");
+		result.append(id);
+		result.append(')');
+		return result.toString();
+	}
+
+} // RequirementImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementRelatedImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementRelatedImpl.java
new file mode 100644
index 0000000..c57605c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementRelatedImpl.java
@@ -0,0 +1,350 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementRelated;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.profile.standard.Refine;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+import org.eclipse.uml2.uml.profile.standard.Trace;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Requirement Related</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl#getTracedFrom <em>Traced From</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl#getSatisfies <em>Satisfies</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl#getRefines <em>Refines</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementRelatedImpl#getVerifies <em>Verifies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RequirementRelatedImpl extends MinimalEObjectImpl.Container implements RequirementRelated {
+
+	/**
+	 * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_NamedElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected NamedElement base_NamedElement;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected RequirementRelatedImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement basicGetBase_NamedElement() {
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT_RELATED__BASE_NAMED_ELEMENT:
+			if (resolve) {
+				return getBase_NamedElement();
+			}
+			return basicGetBase_NamedElement();
+		case RequirementsPackage.REQUIREMENT_RELATED__TRACED_FROM:
+			return getTracedFrom();
+		case RequirementsPackage.REQUIREMENT_RELATED__SATISFIES:
+			return getSatisfies();
+		case RequirementsPackage.REQUIREMENT_RELATED__REFINES:
+			return getRefines();
+		case RequirementsPackage.REQUIREMENT_RELATED__VERIFIES:
+			return getVerifies();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT_RELATED__BASE_NAMED_ELEMENT:
+			return base_NamedElement != null;
+		case RequirementsPackage.REQUIREMENT_RELATED__TRACED_FROM:
+			return !getTracedFrom().isEmpty();
+		case RequirementsPackage.REQUIREMENT_RELATED__SATISFIES:
+			return !getSatisfies().isEmpty();
+		case RequirementsPackage.REQUIREMENT_RELATED__REFINES:
+			return !getRefines().isEmpty();
+		case RequirementsPackage.REQUIREMENT_RELATED__VERIFIES:
+			return !getVerifies().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT_RELATED__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.REQUIREMENT_RELATED;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case RequirementsPackage.REQUIREMENT_RELATED__BASE_NAMED_ELEMENT:
+			setBase_NamedElement((NamedElement) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NamedElement getBase_NamedElement() {
+		if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+			InternalEObject oldBase_NamedElement = (InternalEObject) base_NamedElement;
+			base_NamedElement = (NamedElement) eResolveProxy(oldBase_NamedElement);
+			if (base_NamedElement != oldBase_NamedElement) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.REQUIREMENT_RELATED__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+				}
+			}
+		}
+		return base_NamedElement;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getRefines() {
+		// This should return the Requirement(s) refined by current element
+		EList<Requirement> refines = new BasicEList<Requirement>();
+		Refine currentRefine = null;
+
+		if (getBase_NamedElement() != null) {
+			// Find Refine link
+			Iterator<Dependency> itDep = getBase_NamedElement().getClientDependencies().iterator();
+
+			while (itDep.hasNext()) {
+				Dependency currentDependency = itDep.next();
+				currentRefine = UMLUtil.getStereotypeApplication(currentDependency, Refine.class);
+
+				if (currentRefine != null) {
+					EList<NamedElement> suppliers = currentRefine.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							refines.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getRequirementRelated_Refines(), refines.size(), refines.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getSatisfies() {
+		// This should return the Requirement(s) satisfied by current element
+		EList<Requirement> satisfies = new BasicEList<Requirement>();
+		Satisfy currentSatisfy = null;
+
+		if (getBase_NamedElement() != null) {
+			// Find Satisfy link
+			Iterator<Dependency> itDep = getBase_NamedElement().getClientDependencies().iterator();
+
+			while (itDep.hasNext()) {
+				Dependency currentDependency = itDep.next();
+				currentSatisfy = UMLUtil.getStereotypeApplication(currentDependency, Satisfy.class);
+
+				if (currentSatisfy != null) {
+					EList<NamedElement> suppliers = currentSatisfy.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							satisfies.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getRequirementRelated_Satisfies(), satisfies.size(), satisfies.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getTracedFrom() {
+
+		// Derived from all requirements that are supplier of a "trace"
+		// relationship for
+		// which this element is a client.
+		// "trace" subtypes are not included (see bug #352563).
+		EList<Requirement> tracedFrom = new BasicEList<Requirement>();
+		Trace currentTrace = null;
+
+		if (getBase_NamedElement() != null) {
+			// Find Trace link
+			EList<DirectedRelationship> relationships = getBase_NamedElement().getSourceDirectedRelationships();
+			Iterator<DirectedRelationship> itDep = relationships.iterator();
+
+			while (itDep.hasNext()) {
+				DirectedRelationship currentDRelationship = itDep.next();
+				currentTrace = UMLUtil.getStereotypeApplication(currentDRelationship, Trace.class);
+
+				// Must be a Trace not a subtype (see bug #352563).
+				if ((currentTrace != null) && (currentTrace.eClass() == StandardPackage.eINSTANCE.getTrace())) {
+					EList<NamedElement> clients = currentTrace.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = clients.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							tracedFrom.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getRequirementRelated_TracedFrom(), tracedFrom.size(), tracedFrom.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getVerifies() {
+		// This should return the Requirement(s) verified by current element
+		EList<Requirement> verifies = new BasicEList<Requirement>();
+		Verify currentVerify = null;
+
+		if (getBase_NamedElement() != null) {
+			// Find Satisfy link
+			Iterator<Dependency> itDep = getBase_NamedElement().getClientDependencies().iterator();
+
+			while (itDep.hasNext()) {
+				Dependency currentDependency = itDep.next();
+				currentVerify = UMLUtil.getStereotypeApplication(currentDependency, Verify.class);
+
+				if (currentVerify != null) {
+					EList<NamedElement> suppliers = currentVerify.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							verifies.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getRequirementRelated_Verifies(), verifies.size(), verifies.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+		NamedElement oldBase_NamedElement = base_NamedElement;
+		base_NamedElement = newBase_NamedElement;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.REQUIREMENT_RELATED__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+		}
+	}
+
+} // RequirementRelatedImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementsFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementsFactoryImpl.java
new file mode 100644
index 0000000..4622a0f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementsFactoryImpl.java
@@ -0,0 +1,186 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementRelated;
+import org.eclipse.papyrus.sysml.requirements.RequirementsFactory;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+import org.eclipse.papyrus.sysml.requirements.TestCase;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class RequirementsFactoryImpl extends EFactoryImpl implements RequirementsFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static RequirementsPackage getPackage() {
+		return RequirementsPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static RequirementsFactory init() {
+		try {
+			RequirementsFactory theRequirementsFactory = (RequirementsFactory) EPackage.Registry.INSTANCE.getEFactory(RequirementsPackage.eNS_URI);
+			if (theRequirementsFactory != null) {
+				return theRequirementsFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new RequirementsFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case RequirementsPackage.DERIVE_REQT:
+			return createDeriveReqt();
+		case RequirementsPackage.VERIFY:
+			return createVerify();
+		case RequirementsPackage.COPY:
+			return createCopy();
+		case RequirementsPackage.SATISFY:
+			return createSatisfy();
+		case RequirementsPackage.TEST_CASE:
+			return createTestCase();
+		case RequirementsPackage.REQUIREMENT:
+			return createRequirement();
+		case RequirementsPackage.REQUIREMENT_RELATED:
+			return createRequirementRelated();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Copy createCopy() {
+		CopyImpl copy = new CopyImpl();
+		return copy;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public DeriveReqt createDeriveReqt() {
+		DeriveReqtImpl deriveReqt = new DeriveReqtImpl();
+		return deriveReqt;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Requirement createRequirement() {
+		RequirementImpl requirement = new RequirementImpl();
+		return requirement;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementRelated createRequirementRelated() {
+		RequirementRelatedImpl requirementRelated = new RequirementRelatedImpl();
+		return requirementRelated;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Satisfy createSatisfy() {
+		SatisfyImpl satisfy = new SatisfyImpl();
+		return satisfy;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public TestCase createTestCase() {
+		TestCaseImpl testCase = new TestCaseImpl();
+		return testCase;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Verify createVerify() {
+		VerifyImpl verify = new VerifyImpl();
+		return verify;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsPackage getRequirementsPackage() {
+		return (RequirementsPackage) getEPackage();
+	}
+
+} // RequirementsFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementsPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementsPackageImpl.java
new file mode 100644
index 0000000..ca87f35
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/RequirementsPackageImpl.java
@@ -0,0 +1,589 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementRelated;
+import org.eclipse.papyrus.sysml.requirements.RequirementsFactory;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+import org.eclipse.papyrus.sysml.requirements.TestCase;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.types.TypesPackage;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class RequirementsPackageImpl extends EPackageImpl implements RequirementsPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link RequirementsPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static RequirementsPackage init() {
+		if (isInited) {
+			return (RequirementsPackage) EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RequirementsPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theRequirementsPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theRequirementsPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theRequirementsPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(RequirementsPackage.eNS_URI, theRequirementsPackage);
+		return theRequirementsPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass deriveReqtEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass verifyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass copyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass satisfyEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass testCaseEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass requirementEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EClass requirementRelatedEClass = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private RequirementsPackageImpl() {
+		super(eNS_URI, RequirementsFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create classes and their features
+		deriveReqtEClass = createEClass(DERIVE_REQT);
+
+		verifyEClass = createEClass(VERIFY);
+
+		copyEClass = createEClass(COPY);
+
+		satisfyEClass = createEClass(SATISFY);
+
+		testCaseEClass = createEClass(TEST_CASE);
+		createEReference(testCaseEClass, TEST_CASE__BASE_BEHAVIOR);
+		createEReference(testCaseEClass, TEST_CASE__BASE_OPERATION);
+		createEReference(testCaseEClass, TEST_CASE__VERIFIES);
+
+		requirementEClass = createEClass(REQUIREMENT);
+		createEAttribute(requirementEClass, REQUIREMENT__TEXT);
+		createEAttribute(requirementEClass, REQUIREMENT__ID);
+		createEReference(requirementEClass, REQUIREMENT__DERIVED);
+		createEReference(requirementEClass, REQUIREMENT__DERIVED_FROM);
+		createEReference(requirementEClass, REQUIREMENT__SATISFIED_BY);
+		createEReference(requirementEClass, REQUIREMENT__REFINED_BY);
+		createEReference(requirementEClass, REQUIREMENT__TRACED_TO);
+		createEReference(requirementEClass, REQUIREMENT__VERIFIED_BY);
+		createEReference(requirementEClass, REQUIREMENT__MASTER);
+		createEReference(requirementEClass, REQUIREMENT__BASE_CLASS);
+
+		requirementRelatedEClass = createEClass(REQUIREMENT_RELATED);
+		createEReference(requirementRelatedEClass, REQUIREMENT_RELATED__BASE_NAMED_ELEMENT);
+		createEReference(requirementRelatedEClass, REQUIREMENT_RELATED__TRACED_FROM);
+		createEReference(requirementRelatedEClass, REQUIREMENT_RELATED__SATISFIES);
+		createEReference(requirementRelatedEClass, REQUIREMENT_RELATED__REFINES);
+		createEReference(requirementRelatedEClass, REQUIREMENT_RELATED__VERIFIES);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getCopy() {
+		return copyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getDeriveReqt() {
+		return deriveReqtEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getRequirement() {
+		return requirementEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_Base_Class() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_Derived() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_DerivedFrom() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getRequirement_Id() {
+		return (EAttribute) requirementEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_Master() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_RefinedBy() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_SatisfiedBy() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EAttribute getRequirement_Text() {
+		return (EAttribute) requirementEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_TracedTo() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirement_VerifiedBy() {
+		return (EReference) requirementEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getRequirementRelated() {
+		return requirementRelatedEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirementRelated_Base_NamedElement() {
+		return (EReference) requirementRelatedEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirementRelated_Refines() {
+		return (EReference) requirementRelatedEClass.getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirementRelated_Satisfies() {
+		return (EReference) requirementRelatedEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirementRelated_TracedFrom() {
+		return (EReference) requirementRelatedEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getRequirementRelated_Verifies() {
+		return (EReference) requirementRelatedEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsFactory getRequirementsFactory() {
+		return (RequirementsFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getSatisfy() {
+		return satisfyEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getTestCase() {
+		return testCaseEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getTestCase_Base_Behavior() {
+		return (EReference) testCaseEClass.getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getTestCase_Base_Operation() {
+		return (EReference) testCaseEClass.getEStructuralFeatures().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EReference getTestCase_Verifies() {
+		return (EReference) testCaseEClass.getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EClass getVerify() {
+		return verifyEClass;
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Obtain other dependent packages
+		StandardPackage theStandardPackage = (StandardPackage) EPackage.Registry.INSTANCE.getEPackage(StandardPackage.eNS_URI);
+		UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+		TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
+
+		// Create type parameters
+
+		// Set bounds for type parameters
+
+		// Add supertypes to classes
+		deriveReqtEClass.getESuperTypes().add(theStandardPackage.getTrace());
+		verifyEClass.getESuperTypes().add(theStandardPackage.getTrace());
+		copyEClass.getESuperTypes().add(theStandardPackage.getTrace());
+		satisfyEClass.getESuperTypes().add(theStandardPackage.getTrace());
+
+		// Initialize classes, features, and operations; add parameters
+		initEClass(deriveReqtEClass, DeriveReqt.class, "DeriveReqt", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(verifyEClass, Verify.class, "Verify", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(copyEClass, Copy.class, "Copy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(satisfyEClass, Satisfy.class, "Satisfy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+		initEClass(testCaseEClass, TestCase.class, "TestCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getTestCase_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 1, 1, TestCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getTestCase_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 1, 1, TestCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getTestCase_Verifies(), this.getRequirement(), null, "verifies", null, 0, -1, TestCase.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+
+		initEClass(requirementEClass, Requirement.class, "Requirement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getRequirement_Text(), theTypesPackage.getString(), "text", null, 1, 1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getRequirement_Id(), theTypesPackage.getString(), "id", null, 1, 1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getRequirement_Derived(), this.getRequirement(), null, "derived", null, 0, -1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEReference(getRequirement_DerivedFrom(), this.getRequirement(), null, "derivedFrom", null, 0, -1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEReference(getRequirement_SatisfiedBy(), theUMLPackage.getNamedElement(), null, "satisfiedBy", null, 0, -1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirement_RefinedBy(), theUMLPackage.getNamedElement(), null, "refinedBy", null, 0, -1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirement_TracedTo(), theUMLPackage.getNamedElement(), null, "tracedTo", null, 0, -1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirement_VerifiedBy(), theUMLPackage.getNamedElement(), null, "verifiedBy", null, 0, -1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirement_Master(), this.getRequirement(), null, "master", null, 0, 1, Requirement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+		initEReference(getRequirement_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Requirement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
+				!IS_ORDERED);
+
+		initEClass(requirementRelatedEClass, RequirementRelated.class, "RequirementRelated", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getRequirementRelated_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 1, 1, RequirementRelated.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+				!IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEReference(getRequirementRelated_TracedFrom(), this.getRequirement(), null, "tracedFrom", null, 0, -1, RequirementRelated.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirementRelated_Satisfies(), this.getRequirement(), null, "satisfies", null, 0, -1, RequirementRelated.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirementRelated_Refines(), this.getRequirement(), null, "refines", null, 0, -1, RequirementRelated.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+		initEReference(getRequirementRelated_Verifies(), this.getRequirement(), null, "verifies", null, 0, -1, RequirementRelated.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED,
+				!IS_ORDERED);
+	}
+
+} // RequirementsPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/SatisfyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/SatisfyImpl.java
new file mode 100644
index 0000000..d25eee0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/SatisfyImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Satisfy</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SatisfyImpl extends org.eclipse.uml2.uml.profile.standard.internal.impl.TraceImpl implements Satisfy {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected SatisfyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.SATISFY;
+	}
+
+} // SatisfyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/TestCaseImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/TestCaseImpl.java
new file mode 100644
index 0000000..f388996
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/TestCaseImpl.java
@@ -0,0 +1,290 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EcoreEList.UnmodifiableEList;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.TestCase;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Test Case</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml.requirements.internal.impl.TestCaseImpl#getVerifies <em>Verifies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TestCaseImpl extends MinimalEObjectImpl.Container implements TestCase {
+
+	/**
+	 * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Behavior()
+	 * @generated
+	 * @ordered
+	 */
+	protected Behavior base_Behavior;
+
+	/**
+	 * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @see #getBase_Operation()
+	 * @generated
+	 * @ordered
+	 */
+	protected Operation base_Operation;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected TestCaseImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Behavior basicGetBase_Behavior() {
+		return base_Behavior;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Operation basicGetBase_Operation() {
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case RequirementsPackage.TEST_CASE__BASE_BEHAVIOR:
+			if (resolve) {
+				return getBase_Behavior();
+			}
+			return basicGetBase_Behavior();
+		case RequirementsPackage.TEST_CASE__BASE_OPERATION:
+			if (resolve) {
+				return getBase_Operation();
+			}
+			return basicGetBase_Operation();
+		case RequirementsPackage.TEST_CASE__VERIFIES:
+			return getVerifies();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case RequirementsPackage.TEST_CASE__BASE_BEHAVIOR:
+			return base_Behavior != null;
+		case RequirementsPackage.TEST_CASE__BASE_OPERATION:
+			return base_Operation != null;
+		case RequirementsPackage.TEST_CASE__VERIFIES:
+			return !getVerifies().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case RequirementsPackage.TEST_CASE__BASE_BEHAVIOR:
+			setBase_Behavior((Behavior) newValue);
+			return;
+		case RequirementsPackage.TEST_CASE__BASE_OPERATION:
+			setBase_Operation((Operation) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.TEST_CASE;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case RequirementsPackage.TEST_CASE__BASE_BEHAVIOR:
+			setBase_Behavior((Behavior) null);
+			return;
+		case RequirementsPackage.TEST_CASE__BASE_OPERATION:
+			setBase_Operation((Operation) null);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Behavior getBase_Behavior() {
+		if (base_Behavior != null && base_Behavior.eIsProxy()) {
+			InternalEObject oldBase_Behavior = (InternalEObject) base_Behavior;
+			base_Behavior = (Behavior) eResolveProxy(oldBase_Behavior);
+			if (base_Behavior != oldBase_Behavior) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.TEST_CASE__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+				}
+			}
+		}
+		return base_Behavior;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public Operation getBase_Operation() {
+		if (base_Operation != null && base_Operation.eIsProxy()) {
+			InternalEObject oldBase_Operation = (InternalEObject) base_Operation;
+			base_Operation = (Operation) eResolveProxy(oldBase_Operation);
+			if (base_Operation != oldBase_Operation) {
+				if (eNotificationRequired()) {
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, RequirementsPackage.TEST_CASE__BASE_OPERATION, oldBase_Operation, base_Operation));
+				}
+			}
+		}
+		return base_Operation;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	public EList<Requirement> getVerifies() {
+		// This should return the Requirements verified by current TestCase
+		EList<Requirement> verifies = new BasicEList<Requirement>();
+		Verify currentVerify = null;
+
+		if ((getBase_Behavior() != null) || (getBase_Operation() != null)) {
+			// Find Verify link
+			Iterator<Dependency> itDep;
+			if (getBase_Behavior() != null) {
+				itDep = getBase_Behavior().getClientDependencies().iterator();
+			} else { // if (getBase_Operation() != null)
+				itDep = getBase_Operation().getClientDependencies().iterator();
+			}
+
+			while (itDep.hasNext()) {
+				Dependency currentDependency = itDep.next();
+				currentVerify = UMLUtil.getStereotypeApplication(currentDependency, Verify.class);
+
+				if (currentVerify != null) {
+					EList<NamedElement> suppliers = currentVerify.getBase_Abstraction().getSuppliers();
+					Iterator<NamedElement> it = suppliers.iterator();
+					while (it.hasNext()) {
+						Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
+						if (currentRequirement != null) {
+							verifies.add(currentRequirement);
+						}
+					}
+				}
+			}
+		}
+
+		UnmodifiableEList<Requirement> resultList = new UnmodifiableEList<Requirement>(this, RequirementsPackage.eINSTANCE.getTestCase_Verifies(), verifies.size(), verifies.toArray());
+		return resultList;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Behavior(Behavior newBase_Behavior) {
+		Behavior oldBase_Behavior = base_Behavior;
+		base_Behavior = newBase_Behavior;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.TEST_CASE__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void setBase_Operation(Operation newBase_Operation) {
+		Operation oldBase_Operation = base_Operation;
+		base_Operation = newBase_Operation;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, RequirementsPackage.TEST_CASE__BASE_OPERATION, oldBase_Operation, base_Operation));
+		}
+	}
+
+} // TestCaseImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/VerifyImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/VerifyImpl.java
new file mode 100644
index 0000000..4668384
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/internal/impl/VerifyImpl.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object ' <em><b>Verify</b></em>'. <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class VerifyImpl extends org.eclipse.uml2.uml.profile.standard.internal.impl.TraceImpl implements Verify {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected VerifyImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return RequirementsPackage.Literals.VERIFY;
+	}
+
+} // VerifyImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsAdapterFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsAdapterFactory.java
new file mode 100644
index 0000000..1769565
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsAdapterFactory.java
@@ -0,0 +1,277 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementRelated;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+import org.eclipse.papyrus.sysml.requirements.TestCase;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides
+ * an adapter <code>createXXX</code> method for each class of the model. <!--
+ * end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage
+ * @generated
+ */
+public class RequirementsAdapterFactory extends AdapterFactoryImpl {
+
+	/**
+	 * The cached model package.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static RequirementsPackage modelPackage;
+
+	/**
+	 * The switch that delegates to the <code>createXXX</code> methods. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected RequirementsSwitch<Adapter> modelSwitch = new RequirementsSwitch<Adapter>() {
+
+		@Override
+		public Adapter caseDeriveReqt(DeriveReqt object) {
+			return createDeriveReqtAdapter();
+		}
+
+		@Override
+		public Adapter caseVerify(Verify object) {
+			return createVerifyAdapter();
+		}
+
+		@Override
+		public Adapter caseCopy(Copy object) {
+			return createCopyAdapter();
+		}
+
+		@Override
+		public Adapter caseSatisfy(Satisfy object) {
+			return createSatisfyAdapter();
+		}
+
+		@Override
+		public Adapter caseTestCase(TestCase object) {
+			return createTestCaseAdapter();
+		}
+
+		@Override
+		public Adapter caseRequirement(Requirement object) {
+			return createRequirementAdapter();
+		}
+
+		@Override
+		public Adapter caseRequirementRelated(RequirementRelated object) {
+			return createRequirementRelatedAdapter();
+		}
+
+		@Override
+		public Adapter caseTrace(org.eclipse.uml2.uml.profile.standard.Trace object) {
+			return createTraceAdapter();
+		}
+
+		@Override
+		public Adapter defaultCase(EObject object) {
+			return createEObjectAdapter();
+		}
+	};
+
+	/**
+	 * Creates an instance of the adapter factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsAdapterFactory() {
+		if (modelPackage == null) {
+			modelPackage = RequirementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Creates an adapter for the <code>target</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param target
+	 *            the object to adapt.
+	 * @return the adapter for the <code>target</code>.
+	 * @generated
+	 */
+	@Override
+	public Adapter createAdapter(Notifier target) {
+		return modelSwitch.doSwitch((EObject) target);
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.requirements.Copy <em>Copy</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.Copy
+	 * @generated
+	 */
+	public Adapter createCopyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.DeriveReqt <em>Derive Reqt</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.DeriveReqt
+	 * @generated
+	 */
+	public Adapter createDeriveReqtAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for the default case.
+	 * <!-- begin-user-doc --> This
+	 * default implementation returns null. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @generated
+	 */
+	public Adapter createEObjectAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.Requirement <em>Requirement</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.Requirement
+	 * @generated
+	 */
+	public Adapter createRequirementAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.RequirementRelated <em>Requirement Related</em>}'.
+	 * <!-- begin-user-doc --> This default
+	 * implementation returns null so that we can easily ignore cases; it's
+	 * useful to ignore a case when inheritance will catch all the cases anyway.
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.RequirementRelated
+	 * @generated
+	 */
+	public Adapter createRequirementRelatedAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.Satisfy <em>Satisfy</em>}'.
+	 * <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.Satisfy
+	 * @generated
+	 */
+	public Adapter createSatisfyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.sysml.requirements.TestCase
+	 * <em>Test Case</em>}'. <!-- begin-user-doc --> This default implementation
+	 * returns null so that we can easily ignore cases; it's useful to ignore a
+	 * case when inheritance will catch all the cases anyway. <!-- end-user-doc
+	 * -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.TestCase
+	 * @generated
+	 */
+	public Adapter createTestCaseAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class ' {@link org.eclipse.papyrus.uml.standard.Trace <em>Trace</em>}'. <!--
+	 * begin-user-doc --> This default implementation returns null so that we
+	 * can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.uml.standard.Trace
+	 * @generated
+	 */
+	public Adapter createTraceAdapter() {
+		return null;
+	}
+
+	/**
+	 * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml.requirements.Verify <em>Verify</em>}'.
+	 * <!-- begin-user-doc --> This default implementation returns null so that
+	 * we can easily ignore cases; it's useful to ignore a case when inheritance
+	 * will catch all the cases anyway. <!-- end-user-doc -->
+	 *
+	 * @return the new adapter.
+	 * @see org.eclipse.papyrus.sysml.requirements.Verify
+	 * @generated
+	 */
+	public Adapter createVerifyAdapter() {
+		return null;
+	}
+
+	/**
+	 * Returns whether this factory is applicable for the type of the object.
+	 * <!-- begin-user-doc --> This implementation returns <code>true</code> if
+	 * the object is either the model's package or is an instance object of the
+	 * model. <!-- end-user-doc -->
+	 *
+	 * @return whether this factory is applicable for the type of the object.
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object object) {
+		if (object == modelPackage) {
+			return true;
+		}
+		if (object instanceof EObject) {
+			return ((EObject) object).eClass().getEPackage() == modelPackage;
+		}
+		return false;
+	}
+
+} // RequirementsAdapterFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsResourceFactoryImpl.java
new file mode 100644
index 0000000..4dc74a7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.util.RequirementsResourceImpl
+ * @generated
+ */
+public class RequirementsResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		XMLResource result = new RequirementsResourceImpl(uri);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+		result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+		result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+		return result;
+	}
+
+} // RequirementsResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsResourceImpl.java
new file mode 100644
index 0000000..ec6ffd2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.util.RequirementsResourceFactoryImpl
+ * @generated
+ */
+public class RequirementsResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public RequirementsResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // RequirementsResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsSwitch.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsSwitch.java
new file mode 100644
index 0000000..74f558a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsSwitch.java
@@ -0,0 +1,303 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.sysml.requirements.Copy;
+import org.eclipse.papyrus.sysml.requirements.DeriveReqt;
+import org.eclipse.papyrus.sysml.requirements.Requirement;
+import org.eclipse.papyrus.sysml.requirements.RequirementRelated;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.Satisfy;
+import org.eclipse.papyrus.sysml.requirements.TestCase;
+import org.eclipse.papyrus.sysml.requirements.Verify;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance
+ * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the
+ * inheritance hierarchy until a non-null result is returned, which is the
+ * result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.requirements.RequirementsPackage
+ * @generated
+ */
+public class RequirementsSwitch<T> extends Switch<T> {
+
+	/**
+	 * The cached model package
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected static RequirementsPackage modelPackage;
+
+	/**
+	 * Creates an instance of the switch.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsSwitch() {
+		if (modelPackage == null) {
+			modelPackage = RequirementsPackage.eINSTANCE;
+		}
+	}
+
+	/**
+	 * Checks whether this is a switch for the given package. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @parameter ePackage the package in question.
+	 * @return whether this is a switch for the given package.
+	 * @generated
+	 */
+	@Override
+	protected boolean isSwitchFor(EPackage ePackage) {
+		return ePackage == modelPackage;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of ' <em>Copy</em>'. <!-- begin-user-doc --> This implementation returns null;
+	 * returning a non-null result will terminate the switch. <!-- end-user-doc
+	 * -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of ' <em>Copy</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseCopy(Copy object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Derive Reqt</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Derive Reqt</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseDeriveReqt(DeriveReqt object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Requirement</em>'.
+	 * <!-- begin-user-doc --> This implementation
+	 * returns null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Requirement</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRequirement(Requirement object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Requirement Related</em>'.
+	 * <!-- begin-user-doc --> This
+	 * implementation returns null; returning a non-null result will terminate
+	 * the switch. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Requirement Related</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseRequirementRelated(RequirementRelated object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Trace</em>'.
+	 * <!-- begin-user-doc -->
+	 * This implementation returns null;
+	 * returning a non-null result will terminate the switch.
+	 * <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Trace</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTrace(org.eclipse.uml2.uml.profile.standard.Trace object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Satisfy</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Satisfy</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseSatisfy(Satisfy object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Test Case</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Test Case</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseTestCase(TestCase object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Verify</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch. <!--
+	 * end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>Verify</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseVerify(Verify object) {
+		return null;
+	}
+
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * <!-- begin-user-doc --> This implementation returns
+	 * null; returning a non-null result will terminate the switch, but this is
+	 * the last case anyway. <!-- end-user-doc -->
+	 *
+	 * @param object
+	 *            the target of the switch.
+	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+	 * @generated
+	 */
+	@Override
+	public T defaultCase(EObject object) {
+		return null;
+	}
+
+	/**
+	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @return the first non-null result returned by a <code>caseXXX</code> call.
+	 * @generated
+	 */
+	@Override
+	protected T doSwitch(int classifierID, EObject theEObject) {
+		switch (classifierID) {
+		case RequirementsPackage.DERIVE_REQT: {
+			DeriveReqt deriveReqt = (DeriveReqt) theEObject;
+			T result = caseDeriveReqt(deriveReqt);
+			if (result == null) {
+				result = caseTrace(deriveReqt);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case RequirementsPackage.VERIFY: {
+			Verify verify = (Verify) theEObject;
+			T result = caseVerify(verify);
+			if (result == null) {
+				result = caseTrace(verify);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case RequirementsPackage.COPY: {
+			Copy copy = (Copy) theEObject;
+			T result = caseCopy(copy);
+			if (result == null) {
+				result = caseTrace(copy);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case RequirementsPackage.SATISFY: {
+			Satisfy satisfy = (Satisfy) theEObject;
+			T result = caseSatisfy(satisfy);
+			if (result == null) {
+				result = caseTrace(satisfy);
+			}
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case RequirementsPackage.TEST_CASE: {
+			TestCase testCase = (TestCase) theEObject;
+			T result = caseTestCase(testCase);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case RequirementsPackage.REQUIREMENT: {
+			Requirement requirement = (Requirement) theEObject;
+			T result = caseRequirement(requirement);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		case RequirementsPackage.REQUIREMENT_RELATED: {
+			RequirementRelated requirementRelated = (RequirementRelated) theEObject;
+			T result = caseRequirementRelated(requirementRelated);
+			if (result == null) {
+				result = defaultCase(theEObject);
+			}
+			return result;
+		}
+		default:
+			return defaultCase(theEObject);
+		}
+	}
+
+} // RequirementsSwitch
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsXMLProcessor.java
new file mode 100644
index 0000000..e27ac6e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/requirements/util/RequirementsXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.requirements.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class RequirementsXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public RequirementsXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		RequirementsPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the RequirementsResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new RequirementsResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new RequirementsResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // RequirementsXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/StatemachinesFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/StatemachinesFactory.java
new file mode 100644
index 0000000..8ceeb5d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/StatemachinesFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage
+ * @generated
+ */
+public interface StatemachinesFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	StatemachinesFactory eINSTANCE = org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesFactoryImpl.init();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	StatemachinesPackage getStatemachinesPackage();
+
+} // StatemachinesFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/StatemachinesPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/StatemachinesPackage.java
new file mode 100644
index 0000000..7a35cbc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/StatemachinesPackage.java
@@ -0,0 +1,126 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.statemachines.StatemachinesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface StatemachinesPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '<em>Dummy</em>' data type. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see java.lang.String
+		 * @see org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl#getDummy()
+		 * @generated
+		 */
+		EDataType DUMMY = eINSTANCE.getDummy();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "statemachines";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/StateMachines";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "StateMachines";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	StatemachinesPackage eINSTANCE = org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '<em>Dummy</em>' data type. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see java.lang.String
+	 * @see org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl#getDummy()
+	 * @generated
+	 */
+	int DUMMY = 0;
+
+	/**
+	 * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for data type '<em>Dummy</em>'.
+	 * @see java.lang.String
+	 * @model instanceClass="java.lang.String"
+	 * @generated
+	 */
+	EDataType getDummy();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	StatemachinesFactory getStatemachinesFactory();
+
+} // StatemachinesPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/internal/impl/StatemachinesFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/internal/impl/StatemachinesFactoryImpl.java
new file mode 100644
index 0000000..4187a0e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/internal/impl/StatemachinesFactoryImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesFactory;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class StatemachinesFactoryImpl extends EFactoryImpl implements StatemachinesFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static StatemachinesPackage getPackage() {
+		return StatemachinesPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static StatemachinesFactory init() {
+		try {
+			StatemachinesFactory theStatemachinesFactory = (StatemachinesFactory) EPackage.Registry.INSTANCE.getEFactory(StatemachinesPackage.eNS_URI);
+			if (theStatemachinesFactory != null) {
+				return theStatemachinesFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new StatemachinesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public StatemachinesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(eDataType, instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+		case StatemachinesPackage.DUMMY:
+			return convertDummyToString(eDataType, instanceValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String createDummyFromString(EDataType eDataType, String initialValue) {
+		return (String) super.createFromString(eDataType, initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+		case StatemachinesPackage.DUMMY:
+			return createDummyFromString(eDataType, initialValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public StatemachinesPackage getStatemachinesPackage() {
+		return (StatemachinesPackage) getEPackage();
+	}
+
+} // StatemachinesFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/internal/impl/StatemachinesPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/internal/impl/StatemachinesPackageImpl.java
new file mode 100644
index 0000000..3bbe935
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/internal/impl/StatemachinesPackageImpl.java
@@ -0,0 +1,233 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines.internal.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesFactory;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class StatemachinesPackageImpl extends EPackageImpl implements StatemachinesPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link StatemachinesPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc
+	 * -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static StatemachinesPackage init() {
+		if (isInited) {
+			return (StatemachinesPackage) EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StatemachinesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI)
+				: UsecasesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theStatemachinesPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theUsecasesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theStatemachinesPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theUsecasesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theStatemachinesPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(StatemachinesPackage.eNS_URI, theStatemachinesPackage);
+		return theStatemachinesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EDataType dummyEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private StatemachinesPackageImpl() {
+		super(eNS_URI, StatemachinesFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create data types
+		dummyEDataType = createEDataType(DUMMY);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EDataType getDummy() {
+		return dummyEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public StatemachinesFactory getStatemachinesFactory() {
+		return (StatemachinesFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Initialize data types
+		initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+	}
+
+} // StatemachinesPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesResourceFactoryImpl.java
new file mode 100644
index 0000000..47a5e9e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesResourceFactoryImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.statemachines.util.StatemachinesResourceImpl
+ * @generated
+ */
+public class StatemachinesResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public StatemachinesResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		Resource result = new StatemachinesResourceImpl(uri);
+		return result;
+	}
+
+} // StatemachinesResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesResourceImpl.java
new file mode 100644
index 0000000..b3d9f94
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.statemachines.util.StatemachinesResourceFactoryImpl
+ * @generated
+ */
+public class StatemachinesResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public StatemachinesResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // StatemachinesResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesXMLProcessor.java
new file mode 100644
index 0000000..f1f793f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/statemachines/util/StatemachinesXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.statemachines.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class StatemachinesXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public StatemachinesXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		StatemachinesPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the StatemachinesResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new StatemachinesResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new StatemachinesResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // StatemachinesXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/UsecasesFactory.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/UsecasesFactory.java
new file mode 100644
index 0000000..c537c49
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/UsecasesFactory.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a
+ * create method for each non-abstract class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.usecases.UsecasesPackage
+ * @generated
+ */
+public interface UsecasesFactory extends EFactory {
+
+	/**
+	 * The singleton instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	UsecasesFactory eINSTANCE = org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesFactoryImpl.init();
+
+	/**
+	 * Returns the package supported by this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the package supported by this factory.
+	 * @generated
+	 */
+	UsecasesPackage getUsecasesPackage();
+
+} // UsecasesFactory
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/UsecasesPackage.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/UsecasesPackage.java
new file mode 100644
index 0000000..59f641a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/UsecasesPackage.java
@@ -0,0 +1,126 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains
+ * accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.usecases.UsecasesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface UsecasesPackage extends EPackage {
+
+	/**
+	 * <!-- begin-user-doc --> Defines literals for the meta objects that
+	 * represent
+	 * <ul>
+	 * <li>each class,</li>
+	 * <li>each feature of each class,</li>
+	 * <li>each enum,</li>
+	 * <li>and each data type</li>
+	 * </ul>
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	interface Literals {
+
+		/**
+		 * The meta object literal for the '<em>Dummy</em>' data type. <!--
+		 * begin-user-doc --> <!-- end-user-doc -->
+		 *
+		 * @see java.lang.String
+		 * @see org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl#getDummy()
+		 * @generated
+		 */
+		EDataType DUMMY = eINSTANCE.getDummy();
+
+	}
+
+	/**
+	 * The package name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNAME = "usecases";
+
+	/**
+	 * The package namespace URI.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_URI = "http://www.eclipse.org/papyrus/0.7.0/SysML/UseCases";
+
+	/**
+	 * The package namespace name.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	String eNS_PREFIX = "UseCases";
+
+	/**
+	 * The singleton instance of the package.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	UsecasesPackage eINSTANCE = org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl.init();
+
+	/**
+	 * The meta object id for the '<em>Dummy</em>' data type. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see java.lang.String
+	 * @see org.eclipse.papyrus.sysml.usecases.internal.impl.UsecasesPackageImpl#getDummy()
+	 * @generated
+	 */
+	int DUMMY = 0;
+
+	/**
+	 * Returns the meta object for data type '{@link java.lang.String <em>Dummy</em>}'.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the meta object for data type '<em>Dummy</em>'.
+	 * @see java.lang.String
+	 * @model instanceClass="java.lang.String"
+	 * @generated
+	 */
+	EDataType getDummy();
+
+	/**
+	 * Returns the factory that creates the instances of the model. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @return the factory that creates the instances of the model.
+	 * @generated
+	 */
+	UsecasesFactory getUsecasesFactory();
+
+} // UsecasesPackage
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/internal/impl/UsecasesFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/internal/impl/UsecasesFactoryImpl.java
new file mode 100644
index 0000000..ed69000
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/internal/impl/UsecasesFactoryImpl.java
@@ -0,0 +1,144 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.sysml.usecases.UsecasesFactory;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class UsecasesFactoryImpl extends EFactoryImpl implements UsecasesFactory {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static UsecasesPackage getPackage() {
+		return UsecasesPackage.eINSTANCE;
+	}
+
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public static UsecasesFactory init() {
+		try {
+			UsecasesFactory theUsecasesFactory = (UsecasesFactory) EPackage.Registry.INSTANCE.getEFactory(UsecasesPackage.eNS_URI);
+			if (theUsecasesFactory != null) {
+				return theUsecasesFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new UsecasesFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public UsecasesFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String convertDummyToString(EDataType eDataType, Object instanceValue) {
+		return super.convertToString(eDataType, instanceValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String convertToString(EDataType eDataType, Object instanceValue) {
+		switch (eDataType.getClassifierID()) {
+		case UsecasesPackage.DUMMY:
+			return convertDummyToString(eDataType, instanceValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public String createDummyFromString(EDataType eDataType, String initialValue) {
+		return (String) super.createFromString(eDataType, initialValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object createFromString(EDataType eDataType, String initialValue) {
+		switch (eDataType.getClassifierID()) {
+		case UsecasesPackage.DUMMY:
+			return createDummyFromString(eDataType, initialValue);
+		default:
+			throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public UsecasesPackage getUsecasesPackage() {
+		return (UsecasesPackage) getEPackage();
+	}
+
+} // UsecasesFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/internal/impl/UsecasesPackageImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/internal/impl/UsecasesPackageImpl.java
new file mode 100644
index 0000000..ae9f0e7
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/internal/impl/UsecasesPackageImpl.java
@@ -0,0 +1,232 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases.internal.impl;
+
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+import org.eclipse.papyrus.sysml.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml.activities.internal.impl.ActivitiesPackageImpl;
+import org.eclipse.papyrus.sysml.allocations.AllocationsPackage;
+import org.eclipse.papyrus.sysml.allocations.internal.impl.AllocationsPackageImpl;
+import org.eclipse.papyrus.sysml.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml.blocks.internal.impl.BlocksPackageImpl;
+import org.eclipse.papyrus.sysml.constraints.ConstraintsPackage;
+import org.eclipse.papyrus.sysml.constraints.internal.impl.ConstraintsPackageImpl;
+import org.eclipse.papyrus.sysml.interactions.InteractionsPackage;
+import org.eclipse.papyrus.sysml.interactions.internal.impl.InteractionsPackageImpl;
+import org.eclipse.papyrus.sysml.internal.impl.SysmlPackageImpl;
+import org.eclipse.papyrus.sysml.modelelements.ModelelementsPackage;
+import org.eclipse.papyrus.sysml.modelelements.internal.impl.ModelelementsPackageImpl;
+import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml.portandflows.internal.impl.PortandflowsPackageImpl;
+import org.eclipse.papyrus.sysml.requirements.RequirementsPackage;
+import org.eclipse.papyrus.sysml.requirements.internal.impl.RequirementsPackageImpl;
+import org.eclipse.papyrus.sysml.statemachines.StatemachinesPackage;
+import org.eclipse.papyrus.sysml.statemachines.internal.impl.StatemachinesPackageImpl;
+import org.eclipse.papyrus.sysml.usecases.UsecasesFactory;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class UsecasesPackageImpl extends EPackageImpl implements UsecasesPackage {
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private static boolean isInited = false;
+
+	/**
+	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+	 *
+	 * <p>
+	 * This method is used to initialize {@link UsecasesPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see #eNS_URI
+	 * @see #createPackageContents()
+	 * @see #initializePackageContents()
+	 * @generated
+	 */
+	public static UsecasesPackage init() {
+		if (isInited) {
+			return (UsecasesPackage) EPackage.Registry.INSTANCE.getEPackage(UsecasesPackage.eNS_URI);
+		}
+
+		// Obtain or create and register package
+		UsecasesPackageImpl theUsecasesPackage = (UsecasesPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UsecasesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UsecasesPackageImpl());
+
+		isInited = true;
+
+		// Initialize simple dependencies
+		StandardPackage.eINSTANCE.eClass();
+
+		// Obtain or create and register interdependencies
+		SysmlPackageImpl theSysmlPackage = (SysmlPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) instanceof SysmlPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SysmlPackage.eNS_URI) : SysmlPackage.eINSTANCE);
+		ModelelementsPackageImpl theModelelementsPackage = (ModelelementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ModelelementsPackage.eNS_URI) instanceof ModelelementsPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(ModelelementsPackage.eNS_URI) : ModelelementsPackage.eINSTANCE);
+		BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) instanceof BlocksPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI) : BlocksPackage.eINSTANCE);
+		PortandflowsPackageImpl thePortandflowsPackage = (PortandflowsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI) instanceof PortandflowsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PortandflowsPackage.eNS_URI)
+				: PortandflowsPackage.eINSTANCE);
+		ConstraintsPackageImpl theConstraintsPackage = (ConstraintsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI) instanceof ConstraintsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ConstraintsPackage.eNS_URI)
+				: ConstraintsPackage.eINSTANCE);
+		ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI) instanceof ActivitiesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI)
+				: ActivitiesPackage.eINSTANCE);
+		AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI) instanceof AllocationsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI)
+				: AllocationsPackage.eINSTANCE);
+		RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI) instanceof RequirementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI)
+				: RequirementsPackage.eINSTANCE);
+		InteractionsPackageImpl theInteractionsPackage = (InteractionsPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI) instanceof InteractionsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(InteractionsPackage.eNS_URI)
+				: InteractionsPackage.eINSTANCE);
+		StatemachinesPackageImpl theStatemachinesPackage = (StatemachinesPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(StatemachinesPackage.eNS_URI) instanceof StatemachinesPackageImpl ? EPackage.Registry.INSTANCE
+				.getEPackage(StatemachinesPackage.eNS_URI) : StatemachinesPackage.eINSTANCE);
+
+		// Create package meta-data objects
+		theUsecasesPackage.createPackageContents();
+		theSysmlPackage.createPackageContents();
+		theModelelementsPackage.createPackageContents();
+		theBlocksPackage.createPackageContents();
+		thePortandflowsPackage.createPackageContents();
+		theConstraintsPackage.createPackageContents();
+		theActivitiesPackage.createPackageContents();
+		theAllocationsPackage.createPackageContents();
+		theRequirementsPackage.createPackageContents();
+		theInteractionsPackage.createPackageContents();
+		theStatemachinesPackage.createPackageContents();
+
+		// Initialize created meta-data
+		theUsecasesPackage.initializePackageContents();
+		theSysmlPackage.initializePackageContents();
+		theModelelementsPackage.initializePackageContents();
+		theBlocksPackage.initializePackageContents();
+		thePortandflowsPackage.initializePackageContents();
+		theConstraintsPackage.initializePackageContents();
+		theActivitiesPackage.initializePackageContents();
+		theAllocationsPackage.initializePackageContents();
+		theRequirementsPackage.initializePackageContents();
+		theInteractionsPackage.initializePackageContents();
+		theStatemachinesPackage.initializePackageContents();
+
+		// Mark meta-data to indicate it can't be changed
+		theUsecasesPackage.freeze();
+
+
+		// Update the registry and return the package
+		EPackage.Registry.INSTANCE.put(UsecasesPackage.eNS_URI, theUsecasesPackage);
+		return theUsecasesPackage;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private EDataType dummyEDataType = null;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isCreated = false;
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	private boolean isInitialized = false;
+
+	/**
+	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+	 * package
+	 * package URI value.
+	 * <p>
+	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @see org.eclipse.emf.ecore.EPackage.Registry
+	 * @see org.eclipse.papyrus.sysml.usecases.UsecasesPackage#eNS_URI
+	 * @see #init()
+	 * @generated
+	 */
+	private UsecasesPackageImpl() {
+		super(eNS_URI, UsecasesFactory.eINSTANCE);
+	}
+
+	/**
+	 * Creates the meta-model objects for the package. This method is
+	 * guarded to have no affect on any invocation but its first.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void createPackageContents() {
+		if (isCreated) {
+			return;
+		}
+		isCreated = true;
+
+		// Create data types
+		dummyEDataType = createEDataType(DUMMY);
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public EDataType getDummy() {
+		return dummyEDataType;
+	}
+
+	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public UsecasesFactory getUsecasesFactory() {
+		return (UsecasesFactory) getEFactoryInstance();
+	}
+
+	/**
+	 * Complete the initialization of the package and its meta-model. This
+	 * method is guarded to have no affect on any invocation but its first. <!--
+	 * begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public void initializePackageContents() {
+		if (isInitialized) {
+			return;
+		}
+		isInitialized = true;
+
+		// Initialize package
+		setName(eNAME);
+		setNsPrefix(eNS_PREFIX);
+		setNsURI(eNS_URI);
+
+		// Initialize data types
+		initEDataType(dummyEDataType, String.class, "Dummy", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+	}
+
+} // UsecasesPackageImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesResourceFactoryImpl.java
new file mode 100644
index 0000000..d9e585d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesResourceFactoryImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.usecases.util.UsecasesResourceImpl
+ * @generated
+ */
+public class UsecasesResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public UsecasesResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		Resource result = new UsecasesResourceImpl(uri);
+		return result;
+	}
+
+} // UsecasesResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesResourceImpl.java
new file mode 100644
index 0000000..f165a43
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.usecases.util.UsecasesResourceFactoryImpl
+ * @generated
+ */
+public class UsecasesResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public UsecasesResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // UsecasesResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesXMLProcessor.java
new file mode 100644
index 0000000..6ce2e7f
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/usecases/util/UsecasesXMLProcessor.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.usecases.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.usecases.UsecasesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UsecasesXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public UsecasesXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		UsecasesPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the UsecasesResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new UsecasesResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new UsecasesResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // UsecasesXMLProcessor
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/ElementUtil.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/ElementUtil.java
new file mode 100644
index 0000000..a62a851
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/ElementUtil.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.util;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+@Deprecated
+public class ElementUtil {
+
+	/**
+	 * Check if the StereotypedElement has the given stereotype, or if one of
+	 * its stereotype is inherits from the stereotype passed in parameter. This
+	 * method currently exists in UMLUtils, this one is a copy created to avoid
+	 * some dependencies propagated by UMLUtils (jface...). Current UMLUtils
+	 * plug-in should probably be separated into two parts one depending on UML2
+	 * plug-in only, and the other bringing ui related features;
+	 *
+	 * @deprecated prefer using {@link UMLUtil#getStereotypeApplication(Element, Class)}
+	 */
+	@Deprecated
+	public static EObject hasStereotype(Element elt, EClass stereotypeClass) {
+		return UMLUtil.getStereotypeApplication(elt, stereotypeClass.getClass());
+	}
+
+	/**
+	 * Convenient method to retrieve the StereotypeApplication by passing an
+	 * element of the static profile.
+	 *
+	 * @deprecated prefer using {@link UMLUtil#getStereotypeApplication(Element, Class)}
+	 */
+	@Deprecated
+	public static <T extends EObject> T getStereotypeApplication(Element element, java.lang.Class<T> clazz) {
+		return UMLUtil.getStereotypeApplication(element, clazz);
+	}
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResource.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResource.java
new file mode 100644
index 0000000..753a52a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResource.java
@@ -0,0 +1,223 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *  Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.util;
+
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+/**
+ * For all deprecated : use org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication
+ * Ex :
+ * replace appliedStereotype =
+ * connectorEnd.getAppliedStereotype("SysML::Blocks::NestedConnectorEnd");connectorEnd.getStereotypeApplication(appliedStereotype);
+ * by org.eclipse.uml2.uml.util.UMLUtil.getStereotypeApplication(element, NestedConnectorEnd.class);
+ */
+public class SysmlResource {
+
+	public static final String LIBRARIES_PATHMAP = "pathmap://SysML_LIBRARIES/"; //$NON-NLS-1$
+
+	public static final String SYSML_PRIMITIVE_TYPES_LIBRARY_URI = LIBRARIES_PATHMAP + "SysMLPrimitiveTypes.uml"; //$NON-NLS-1$
+
+	public static final String PROFILES_PATHMAP = "pathmap://SysML_PROFILES/"; //$NON-NLS-1$
+
+	public static final String SYSML_PROFILE_NS_URI = SysmlPackage.eNS_URI;
+
+	public static final String SYSML_PROFILE_URI = PROFILES_PATHMAP + "SysML.profile.uml"; //$NON-NLS-1$
+
+
+	// Stereotypes ids
+	@Deprecated
+	public static String CONFORM_ID = "SysML::ModelElements::Conform";
+
+	@Deprecated
+	public static String VIEW_ID = "SysML::ModelElements::View";
+
+	@Deprecated
+	public static String VIEW_POINT_ID = "SysML::ModelElements::ViewPoint";
+
+	/**
+	 * @deprecated use VIEW_POINT_ID instead
+	 */
+	@Deprecated
+	public static String VIEWPOINT_ID = VIEW_POINT_ID;
+
+	@Deprecated
+	public static String RATIONALE_ID = "SysML::ModelElements::Rationale";
+
+	@Deprecated
+	public static String PROBLEM_ID = "SysML::ModelElements::Problem";
+
+	@Deprecated
+	public static String BLOCK_ID = "SysML::Blocks::Block";
+
+	@Deprecated
+	public static String DISTRIBUTED_PROPERTY_ID = "SysML::Blocks::DistributedProperty";
+
+	@Deprecated
+	public static String DIMENSION_ID = "SysML::Blocks::Dimension";
+
+	@Deprecated
+	public static String UNIT_ID = "SysML::Blocks::Unit";
+
+	@Deprecated
+	public static String VALUE_TYPE_ID = "SysML::Blocks::ValueType";
+
+	@Deprecated
+	public static String NESTED_CONNECTOR_END_ID = "SysML::Blocks::NestedConnectorEnd";
+
+	/** @deprecated use NESTED_CONNECTOR_END_ID instead */
+	@Deprecated
+	public static String NESTED_CONNECTOREND_ID = NESTED_CONNECTOR_END_ID;
+
+	@Deprecated
+	public static String PARTICIPANT_PROPERTY_ID = "SysML::Blocks::ParticipantProperty";
+
+	@Deprecated
+	public static String CONNECTOR_PROPERTY_ID = "SysML::Blocks::ConnectorProperty";
+
+	@Deprecated
+	public static String BINDING_CONNECTOR_ID = "SysML::Blocks::BindingConnector";
+
+	@Deprecated
+	public static String PROPERTY_SPECIFIC_TYPE_ID = "SysML::Blocks::PropertySpecificType";
+
+	@Deprecated
+	public static String FLOW_PORT_ID = "SysML::PortAndFlows::FlowPort";
+
+	@Deprecated
+	public static String FLOW_PROPERTY_ID = "SysML::PortAndFlows::FlowProperty";
+
+	@Deprecated
+	public static String FLOW_SPECIFICATION_ID = "SysML::PortAndFlows::FlowSpecification";
+
+	@Deprecated
+	public static String ITEM_FLOW_ID = "SysML::PortAndFlows::ItemFlow";
+
+	@Deprecated
+	public static String CONSTRAINT_BLOCK_ID = "SysML::Constraints::ConstraintBlock";
+
+	@Deprecated
+	public static String CONSTRAINT_PROPERTY_ID = "SysML::Constraints::ConstraintProperty";
+
+	@Deprecated
+	public static String OPTIONAL_ID = "SysML::Activities::Optional";
+
+	@Deprecated
+	public static String RATE_ID = "SysML::Activities::Rate";
+
+	@Deprecated
+	public static String PROBABILITY_ID = "SysML::Activities::Probability";
+
+	@Deprecated
+	public static String CONTINUOUS_ID = "SysML::Activities::Continuous";
+
+	@Deprecated
+	public static String DISCRETE_ID = "SysML::Activities::Discrete";
+
+	@Deprecated
+	public static String CONTROL_OPERATOR_ID = "SysML::Activities::ControlOperator";
+
+	@Deprecated
+	public static String NO_BUFFER_ID = "SysML::Activities::NoBuffer";
+
+	@Deprecated
+	public static String OVERWRITE_ID = "SysML::Activities::Overwrite";
+
+	@Deprecated
+	public static String ALLOCATE_ID = "SysML::Allocations::Allocate";
+
+	@Deprecated
+	public static String ALLOCATED_ID = "SysML::Allocations::Allocated";
+
+	@Deprecated
+	public static String ALLOCATE_ACTIVITY_PARTITION_ID = "SysML::Allocations::AllocateActivityPartition";
+
+	@Deprecated
+	public static String DERIVE_REQT_ID = "SysML::Requirements::DeriveReqt";
+
+	@Deprecated
+	public static String VERIFY_ID = "SysML::Requirements::Verify";
+
+	@Deprecated
+	public static String COPY_ID = "SysML::Requirements::Copy";
+
+	@Deprecated
+	public static String SATISFY_ID = "SysML::Requirements::Satisfy";
+
+	@Deprecated
+	public static String TEST_CASE_ID = "SysML::Requirements::TestCase";
+
+	@Deprecated
+	public static String REQUIREMENT_ID = "SysML::Requirements::Requirement";
+
+	@Deprecated
+	public static String REQUIREMENT_RELATED_ID = "SysML::Requirements::RequirementRelated";
+
+	// SubProfiles ids
+	@Deprecated
+	public static String SYSML_ID = "SysML";
+
+	@Deprecated
+	public static String MODEL_ELEMENTS_ID = "SysML::ModelElements";
+
+	@Deprecated
+	public static String BLOCKS_ID = "SysML::Blocks";
+
+	@Deprecated
+	public static String PORT_AND_FLOWS_ID = "SysML::PortAndFlows";
+
+	@Deprecated
+	public static String CONSTRAINTS_ID = "SysML::Constraints";
+
+	@Deprecated
+	public static String ACTIVITIES_ID = "SysML::Activities";
+
+	@Deprecated
+	public static String ALLOCATIONS_ID = "SysML::Allocations";
+
+	@Deprecated
+	public static String REQUIREMENTS_ID = "SysML::Requirements";
+
+	// stereotype properties ids
+	// requirements properties
+	@Deprecated
+	public static String REQUIREMENT_BASE_CLASS_ID = "base_Class"; //$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_DERIVED_ID = "derived"; //$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_DERIVED_FROM_ID = "derivedFrom";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_ID_ID = "id";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_MASTER_ID = "master";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_REFINED_BY_ID = "refinedBy";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_SATISFIED_BY_ID = "satisfiedBy";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_TEXT_ID = "text";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_TRACED_TO_ID = "tracedTo";//$NON-NLS-1$
+
+	@Deprecated
+	public static String REQUIREMENT_VERIFIED_BY_ID = "verifiedBy";//$NON-NLS-1$
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResourceFactoryImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResourceFactoryImpl.java
new file mode 100644
index 0000000..b6eb78a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResourceFactoryImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource Factory</b> associated with the
+ * package. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.util.SysmlResourceImpl
+ * @generated
+ */
+public class SysmlResourceFactoryImpl extends ResourceFactoryImpl {
+
+	/**
+	 * Creates an instance of the resource factory.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public SysmlResourceFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Resource createResource(URI uri) {
+		Resource result = new SysmlResourceImpl(uri);
+		return result;
+	}
+
+} // SysmlResourceFactoryImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResourceImpl.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResourceImpl.java
new file mode 100644
index 0000000..dc5a9f9
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlResourceImpl.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc --> The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.sysml.util.SysmlResourceFactoryImpl
+ * @generated
+ */
+public class SysmlResourceImpl extends XMLResourceImpl {
+
+	/**
+	 * Creates an instance of the resource.
+	 * <!-- begin-user-doc --> <!--
+	 * end-user-doc -->
+	 *
+	 * @param uri
+	 *            the URI of the new resource.
+	 * @generated
+	 */
+	public SysmlResourceImpl(URI uri) {
+		super(uri);
+	}
+
+} // SysmlResourceImpl
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlXMLProcessor.java b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlXMLProcessor.java
new file mode 100644
index 0000000..4841936
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml/src/org/eclipse/papyrus/sysml/util/SysmlXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2009 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *  Yann Tanguy (CEA LIST) yann.tanguy@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.sysml.SysmlPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class SysmlXMLProcessor extends XMLProcessor {
+
+	/**
+	 * Public constructor to instantiate the helper.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public SysmlXMLProcessor() {
+		super((EPackage.Registry.INSTANCE));
+		SysmlPackage.eINSTANCE.eClass();
+	}
+
+	/**
+	 * Register for "*" and "xml" file extensions the SysmlResourceFactoryImpl factory.
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected Map<String, Resource.Factory> getRegistrations() {
+		if (registrations == null) {
+			super.getRegistrations();
+			registrations.put(XML_EXTENSION, new SysmlResourceFactoryImpl());
+			registrations.put(STAR_EXTENSION, new SysmlResourceFactoryImpl());
+		}
+		return registrations;
+	}
+
+} // SysmlXMLProcessor
diff --git a/sysml14/plugins/pom.xml b/sysml14/plugins/pom.xml
index 8898fba..a9e9baf 100644
--- a/sysml14/plugins/pom.xml
+++ b/sysml14/plugins/pom.xml
@@ -1,13 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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.interoperability</groupId>
-	    <artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
-	    <version>0.11.0-SNAPSHOT</version>
-    </parent>
-    
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.plugins</artifactId>
 	<packaging>pom</packaging>
 	<name>Papyrus Interoperability SysML1.1 to SysML1.4 Plugins</name>
@@ -17,6 +19,9 @@
 		<module>org.eclipse.papyrus.interoperability.sysml14.sysml</module>
 		<module>org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes</module>
 		<module>org.eclipse.papyrus.interoperability.sysml14.sysml.doc</module>
+		<module>org.eclipse.papyrus.sysml</module>
+		<module>org.eclipse.papyrus.sysml.nattable.allocation.config</module>
+		<module>org.eclipse.papyrus.sysml.nattable.requirement.config</module>
 	</modules>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/pom.xml b/sysml14/pom.xml
index c289917..5c6e276 100755
--- a/sysml14/pom.xml
+++ b/sysml14/pom.xml
@@ -1,68 +1,102 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">	
+<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.interoperability</groupId>
-	    <artifactId>org.eclipse.papyrus.interoperability.root</artifactId>
-	    <version>1.0.0-SNAPSHOT</version>
-    </parent>
-    
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.root</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
-	<version>0.11.0-SNAPSHOT</version>
+	<version>0.12.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	<description>The top container of SysML Migration for Interoperability.</description>
-	
+
 	<modules>
 		<module>features</module>
 		<module>plugins</module>
 	</modules>
-	
+
 	<profiles>
 		<profile>
-			<id>sysml14TargetMain</id>
-			
+			<id>sysml14</id>
 			<properties>
-				<target.platform>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen</target.platform>
+				<target.platform>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.${version}.${target.suffix}</target.platform>
 				<target.platform.groupid>org.eclipse.papyrus.interoperability</target.platform.groupid>
-				<target.version>0.11.0-SNAPSHOT</target.version>
+				<target.version>0.12.0-SNAPSHOT</target.version>
 			</properties>
-			
 			<modules>
 				<module>releng</module>
 			</modules>
-			
 		</profile>
 		
 		<profile>
-			<id>sysml14TargetTests</id>
-			
+			<id>sysml14tests</id>
 			<properties>
-				<testConfig>CI_TESTS_CONFIG</testConfig>
-				<jacoco.version>0.7.4.201502262128</jacoco.version>
-				<!-- Separate property for test argLine seems to be required when running Jacoco + Surefire -->
-				<test.argLine>-Xms512m -Xmx2048m -XX:SoftRefLRUPolicyMSPerMB=100</test.argLine>
-				
-				<target.platform>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen</target.platform>
-				<target.platform.groupid>org.eclipse.papyrus.interoperability.tests</target.platform.groupid>
-				<target.version>0.11.0-SNAPSHOT</target.version>
+				<target.platform>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.${version}.${target.suffix}</target.platform>
+				<target.platform.groupid>org.eclipse.papyrus.interoperability</target.platform.groupid>
+				<target.version>0.12.0-SNAPSHOT</target.version>
 			</properties>
-			
 			<modules>
 				<module>releng</module>
-			</modules>
-			
-		</profile>
-		
-		<profile>
-			<id>tests</id>
-			
-			<modules>
 				<module>tests</module>
 			</modules>
-			
+		</profile>
+		
+		<profile>
+			<id>oxygen</id>
+			<properties>
+				<version>oxygen</version>
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>photon</id>
+			<properties>
+				<version>photon</version>
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>2018-09</id>
+			<properties>
+				<version>2018-09</version>
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>2018-12</id>
+			<properties>
+				<version>2018-12</version>
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>eclipsehippIntegration</id>
+			<activation>
+				<property>
+					<name>JENKINS_URL</name>
+				</property>
+			</activation>
+			<properties>
+				<target.suffix>eclipse</target.suffix> <!-- set to 'eclipse' when building on HIPP, to improve performances -->
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>localIntegration</id>
+			<activation>
+				<property>
+					<name>!JENKINS_URL</name>
+				</property>
+			</activation>
+			<properties>
+				<target.suffix>portable</target.suffix>
+			</properties>
 		</profile>
 	</profiles>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/releng/.project b/sysml14/releng/.project
new file mode 100644
index 0000000..43a73bf
--- /dev/null
+++ b/sysml14/releng/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>releng</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/category.xml b/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/category.xml
index cf1e0dd..e603ad5 100644
--- a/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/category.xml
+++ b/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/category.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <site>
-   <feature url="features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature_0.11.0.qualifier.jar" id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature" version="0.11.0.qualifier">
+   <feature url="features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature_0.12.0.qualifier.jar" id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature" version="0.12.0.qualifier">
       <category name="org.eclipse.papyrus.category"/>
    </feature>
-   <feature url="features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature.source_0.11.0.qualifier.jar" id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature.source" version="0.11.0.qualifier">
+   <feature url="features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature.source_0.12.0.qualifier.jar" id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature.source" version="0.12.0.qualifier">
       <category name="org.eclipse.papyrus.category"/>
    </feature>
    
diff --git a/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml b/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml
index 4c06c4b..9e626ea 100644
--- a/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml
+++ b/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml
@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability</groupId>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.releng</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
-	
-	<artifactId>org.eclipse.interoperability.interoperability.sysml14.sysml.p2</artifactId>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.p2</artifactId>
 	<packaging>eclipse-repository</packaging>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/releng/pom.xml b/sysml14/releng/pom.xml
index 3dd0a3e..9651519 100755
--- a/sysml14/releng/pom.xml
+++ b/sysml14/releng/pom.xml
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability</groupId>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.releng</artifactId>
@@ -16,5 +17,5 @@
 		<module>org.eclipse.papyrus.interoperability.sysml14.sysml.p2</module>
 		<module>targetplatforms</module>
 	</modules>
-	
+
 </project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target b/sysml14/releng/targetplatforms/eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target
deleted file mode 100755
index f23ddc8..0000000
--- a/sysml14/releng/targetplatforms/eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde?>
-<!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Interoperability Sysml14Sysml - Oxygen" sequenceNumber="1503761195">
-  <locations>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sysml.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.feature.source.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.diagram.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.diagram.feature.source.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.properties.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.properties.feature.source.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.modelexplorer.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.modelexplorer.feature.source.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.nattable.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml.nattable.feature.source.feature.group" version="0.0.0"/>
-      <repository id="sysml11" location="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml11-oxygen/lastSuccessfulBuild/artifact/org.eclipse.papyrus.sysml11.p2/target/repository/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
-      <repository id="sysml14" location="https://hudson.eclipse.org/papyrus/job/papyrus-sysml-oxygen/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
-      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
-      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
-      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
-      <repository location="file:/home/data/httpd/download.eclipse.org/releases/oxygen/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
-      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/oxygen/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
-      <repository id="PapyrusDev" location="https://hudson.eclipse.org/papyrus/job/Papyrus-Oxygen-Developer/lastSuccessfulBuild/artifact/repository/"/>
-    </location>
-  </locations>
-</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse.target
new file mode 100644
index 0000000..fd094dc
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-09" sequenceNumber="1551109244">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="file:/home/data/httpd/download.eclipse.org/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse/pom.xml
new file mode 100644
index 0000000..ad0e0bf
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 2018-09 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in 2018-09</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.target
new file mode 100644
index 0000000..c1e6644
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-09" sequenceNumber="1551109244">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.tpd
new file mode 100644
index 0000000..f8b0922
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.tpd
@@ -0,0 +1,20 @@
+target "Interoperability Sysml14 - 2018-09" with source requirements
+
+location "http://download.eclipse.org/releases/2018-09/" {
+ org.eclipse.m2m.qvt.oml.project lazy
+}
+
+//manualUpdate
+location Papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09/" {
+ org.eclipse.papyrus.infra.doc lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.source lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source lazy
+}
+
+//manualUpdate
+location sysml14 "http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09" {
+ org.eclipse.papyrus.sysml14.feature.feature.group lazy
+ org.eclipse.papyrus.sysml14.feature.source.feature.group lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/pom.xml
new file mode 100644
index 0000000..042a7f1
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 2018-09 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in 2018-09</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse.target
new file mode 100644
index 0000000..6d046c5
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-12" sequenceNumber="1551109465">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="file:/home/data/httpd/download.eclipse.org/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse/pom.xml
new file mode 100644
index 0000000..856ee4e
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 2018-12 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in 2018-12</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.target
new file mode 100644
index 0000000..15743b2
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-12" sequenceNumber="1551109465">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.tpd
new file mode 100644
index 0000000..4a00a41
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.tpd
@@ -0,0 +1,20 @@
+target "Interoperability Sysml14 - 2018-12" with source requirements
+
+location "http://download.eclipse.org/releases/2018-12/" {
+ org.eclipse.m2m.qvt.oml.project lazy
+}
+
+//manualUpdate
+location Papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/" {
+ org.eclipse.papyrus.infra.doc lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.source lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source lazy
+}
+
+//manualUpdate
+location sysml14 "http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09" {
+ org.eclipse.papyrus.sysml14.feature.feature.group lazy
+ org.eclipse.papyrus.sysml14.feature.source.feature.group lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/pom.xml
new file mode 100644
index 0000000..ff1358e
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 2018-12 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in 2018-12</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse.target
old mode 100755
new mode 100644
similarity index 96%
rename from sysml14/releng/targetplatforms/eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.target
rename to sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse.target
index b842a9d..77e9451
--- a/sysml14/releng/targetplatforms/eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.target
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Interoperability Sysml14Sysml - Oxygen" sequenceNumber="1498416406">
+<target name="Interoperability Sysml14 - Oxygen" sequenceNumber="1498416406">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse/pom.xml
new file mode 100644
index 0000000..c80b012
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Oxygen Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in Oxygen</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.target
similarity index 96%
rename from sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.target
rename to sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.target
index aa97b90..22434ee 100644
--- a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.target
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Interoperability Sysml14Sysml - Oxygen" sequenceNumber="1498416406">
+<target name="Interoperability Sysml14 - Oxygen" sequenceNumber="1498416406">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.tpd
new file mode 100644
index 0000000..ae40648
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.tpd
@@ -0,0 +1,20 @@
+target "Interoperability Sysml14 - Oxygen" with source requirements
+
+location "http://download.eclipse.org/releases/oxygen/" {
+ org.eclipse.m2m.qvt.oml.project lazy
+}
+
+//manualUpdate
+location Papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/oxygen/" {
+ org.eclipse.papyrus.infra.doc lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.source lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source lazy
+}
+
+//manualUpdate
+location sysml14 "http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/oxygen" {
+ org.eclipse.papyrus.sysml14.feature.feature.group lazy
+ org.eclipse.papyrus.sysml14.feature.source.feature.group lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/pom.xml
new file mode 100644
index 0000000..c015154
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Oxygen Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in Oxygen</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.tpd
deleted file mode 100755
index 5dbeab4..0000000
--- a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.tpd
+++ /dev/null
@@ -1,34 +0,0 @@
-target "Interoperability Sysml14Sysml - Oxygen" with source requirements
-
-location "http://download.eclipse.org/releases/oxygen/" {
- org.eclipse.m2m.qvt.oml.project lazy
-}
-
-//manualUpdate
-location Papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/oxygen/" {
- org.eclipse.papyrus.infra.doc lazy
- org.eclipse.papyrus.uml.m2m.qvto.common lazy
- org.eclipse.papyrus.uml.m2m.qvto.common.source lazy
- org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes lazy
- org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source lazy
-}
-
-//manualUpdate
-location sysml11 "https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml11-oxygen/lastSuccessfulBuild/artifact/org.eclipse.papyrus.sysml11.p2/target/repository/" {
- org.eclipse.papyrus.sysml.feature.feature.group lazy
- org.eclipse.papyrus.sysml.feature.source.feature.group lazy
- org.eclipse.papyrus.sysml.diagram.feature.feature.group lazy
- org.eclipse.papyrus.sysml.diagram.feature.source.feature.group lazy 
- org.eclipse.papyrus.sysml.properties.feature.feature.group lazy
- org.eclipse.papyrus.sysml.properties.feature.source.feature.group lazy
- org.eclipse.papyrus.sysml.modelexplorer.feature.feature.group lazy
- org.eclipse.papyrus.sysml.modelexplorer.feature.source.feature.group lazy
- org.eclipse.papyrus.sysml.nattable.feature.feature.group lazy
- org.eclipse.papyrus.sysml.nattable.feature.source.feature.group lazy
-}
-
-//manualUpdate
-location sysml14 "https://hudson.eclipse.org/papyrus/job/papyrus-sysml-oxygen/lastSuccessfulBuild/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/" {
- org.eclipse.papyrus.sysml14.feature.feature.group lazy
- org.eclipse.papyrus.sysml14.feature.source.feature.group lazy
-}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/pom.xml
deleted file mode 100644
index 2afb624..0000000
--- a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
-	</parent>	
-	
-	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen</artifactId>
-	<packaging>eclipse-target-definition</packaging>
-	<name>Interoperability SysML14 Oxygen Target Definition</name>
-	<description>This plug-in contains the target definition for Papyrus Interoperability SysML14 in Oxygen</description>
-	
-</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse.target
new file mode 100644
index 0000000..7af5cb4
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - Photon" sequenceNumber="1551108109">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="file:/home/data/httpd/download.eclipse.org/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/components/sysml14/photon"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse/pom.xml
new file mode 100644
index 0000000..1f51ae4
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Photon Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in Photon</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.target
new file mode 100644
index 0000000..8ed8cb5
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.target
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - Photon" sequenceNumber="1551108109">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/photon"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.tpd
new file mode 100644
index 0000000..36142cb
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.tpd
@@ -0,0 +1,20 @@
+target "Interoperability Sysml14 - Photon" with source requirements
+
+location "http://download.eclipse.org/releases/photon/" {
+ org.eclipse.m2m.qvt.oml.project lazy
+}
+
+//manualUpdate
+location Papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/" {
+ org.eclipse.papyrus.infra.doc lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.source lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes lazy
+ org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source lazy
+}
+
+//manualUpdate
+location sysml14 "http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/photon" {
+ org.eclipse.papyrus.sysml14.feature.feature.group lazy
+ org.eclipse.papyrus.sysml14.feature.source.feature.group lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/pom.xml
new file mode 100644
index 0000000..7c660b2
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Photon Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 in Photon</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.target
new file mode 100644
index 0000000..7782748
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.target
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-09" sequenceNumber="1551172460">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
+      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
+      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
+      <unit id="org.eclipse.gmf.runtime.notation" version="0.0.0"/>
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="file:/home/data/httpd/download.eclipse.org/releases/2018-09/"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse/pom.xml
new file mode 100644
index 0000000..b055389
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests 2018-09 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in 2018-09</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.target
new file mode 100644
index 0000000..8e40058
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.target
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-09" sequenceNumber="1551172460">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
+      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
+      <unit id="org.eclipse.gmf.runtime.notation" version="0.0.0"/>
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/releases/2018-09/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
+      <repository id="PapyrusDev" location="https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.tpd
new file mode 100644
index 0000000..7a3ea94
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable.tpd
@@ -0,0 +1,17 @@
+target "Interoperability Sysml14 - 2018-09" with source requirements
+
+include "../org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-09.portable.tpd"
+
+location "http://download.eclipse.org/releases/2018-09/" {
+ org.eclipse.emf.compare lazy
+ org.eclipse.equinox.launcher lazy
+ org.eclipse.ui.ide.application lazy
+ org.eclipse.gmf.runtime.notation lazy
+}
+
+//manualUpdate
+location PapyrusDev "https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09"{
+ org.eclipse.papyrus.junit.framework lazy
+ org.eclipse.papyrus.junit.utils lazy
+ org.eclipse.papyrus.uml.m2m.qvto.tests.tools lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/pom.xml
new file mode 100644
index 0000000..10a149d
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-09.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests 2018-09 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in 2018-09</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.target
new file mode 100644
index 0000000..8eba3c6
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.target
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-12" sequenceNumber="1551172563">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
+      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
+      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
+      <unit id="org.eclipse.gmf.runtime.notation" version="0.0.0"/>
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="file:/home/data/httpd/download.eclipse.org/releases/2018-12/"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse/pom.xml
new file mode 100644
index 0000000..e40b1f9
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests 2018-12 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in 2018-12</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.target
new file mode 100644
index 0000000..df770f8
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.target
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - 2018-12" sequenceNumber="1551172563">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/2018-09"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
+      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
+      <unit id="org.eclipse.gmf.runtime.notation" version="0.0.0"/>
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/releases/2018-12/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
+      <repository id="PapyrusDev" location="https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.tpd
new file mode 100644
index 0000000..8ffb9ba
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable.tpd
@@ -0,0 +1,17 @@
+target "Interoperability Sysml14 - 2018-12" with source requirements
+
+include "../org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.2018-12.portable.tpd"
+
+location "http://download.eclipse.org/releases/2018-12/" {
+ org.eclipse.emf.compare lazy
+ org.eclipse.equinox.launcher lazy
+ org.eclipse.ui.ide.application lazy
+ org.eclipse.gmf.runtime.notation lazy
+}
+
+//manualUpdate
+location PapyrusDev "https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12"{
+ org.eclipse.papyrus.junit.framework lazy
+ org.eclipse.papyrus.junit.utils lazy
+ org.eclipse.papyrus.uml.m2m.qvto.tests.tools lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/pom.xml
new file mode 100644
index 0000000..67bca4f
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.2018-12.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests 2018-12 Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in 2018-12</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse.target
old mode 100755
new mode 100644
similarity index 100%
rename from sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target
rename to sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse.target
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse/pom.xml
new file mode 100644
index 0000000..59486b4
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests Oxygen Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in Oxygen</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable.target
old mode 100755
new mode 100644
similarity index 100%
copy from sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.target
copy to sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable.target
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable.tpd
old mode 100755
new mode 100644
similarity index 62%
rename from sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.tpd
rename to sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable.tpd
index 2ec3a64..774c329
--- a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.tpd
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable.tpd
@@ -1,17 +1,11 @@
-target "Interoperability Sysml14Sysml - Oxygen" with source requirements
+target "Interoperability Sysml14 - Oxygen" with source requirements
 
-include "../org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.tpd"
+include "../org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen.portable.tpd"
 
 location "http://download.eclipse.org/releases/oxygen/" {
  org.eclipse.emf.compare lazy
  org.eclipse.equinox.launcher lazy
  org.eclipse.ui.ide.application lazy
-
-}
-
-//manualUpdate
-location Papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/oxygen/" {
- 
 }
 
 //manualUpdate
@@ -19,5 +13,4 @@
  org.eclipse.papyrus.junit.framework lazy
  org.eclipse.papyrus.junit.utils lazy
  org.eclipse.papyrus.uml.m2m.qvto.tests.tools lazy
-
 }
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/pom.xml
new file mode 100644
index 0000000..38602a6
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests Oxygen Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in Oxygen</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/pom.xml
deleted file mode 100755
index 596fe20..0000000
--- a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
-	</parent>	
-	
-  	<groupId>org.eclipse.papyrus.interoperability.tests</groupId>
-	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen</artifactId>
-	<packaging>eclipse-target-definition</packaging>
-	<name>Interoperability Oxygen Target Definition</name>
-	<description>This plug-in contains the target definition for Papyrus Interoperability in Oxygen</description>
-	
-</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.target
new file mode 100644
index 0000000..2332d7e
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.target
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - Photon" sequenceNumber="1551172029">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
+      <repository id="Papyrus" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="file:/home/data/httpd/download.eclipse.org/modeling/mdt/papyrus/components/sysml14/photon"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
+      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
+      <unit id="org.eclipse.gmf.runtime.notation" version="0.0.0"/>
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="file:/home/data/httpd/download.eclipse.org/releases/photon/"/>
+    </location>
+  </locations>
+</target>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse/pom.xml
new file mode 100644
index 0000000..2709c17
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.eclipse</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests Photon Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in Photon</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.target b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.target
new file mode 100644
index 0000000..3e59c15
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.target
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="Interoperability Sysml14 - Photon" sequenceNumber="1551172029">
+  <locations>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.infra.doc" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.source" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.common.blackboxes.source" version="0.0.0"/>
+      <repository id="Papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.source.feature.group" version="0.0.0"/>
+      <repository id="sysml14" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/photon"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.emf.compare" version="0.0.0"/>
+      <unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
+      <unit id="org.eclipse.ui.ide.application" version="0.0.0"/>
+      <unit id="org.eclipse.gmf.runtime.notation" version="0.0.0"/>
+      <unit id="org.eclipse.m2m.qvt.oml.project" version="0.0.0"/>
+      <repository location="http://download.eclipse.org/releases/photon/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.uml.m2m.qvto.tests.tools" version="0.0.0"/>
+      <repository id="PapyrusDev" location="https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/"/>
+    </location>
+  </locations>
+</target>
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.tpd b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.tpd
new file mode 100644
index 0000000..ebb79f9
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable.tpd
@@ -0,0 +1,17 @@
+target "Interoperability Sysml14 - Photon" with source requirements
+
+include "../org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable/org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.photon.portable.tpd"
+
+location "http://download.eclipse.org/releases/photon/" {
+ org.eclipse.emf.compare lazy
+ org.eclipse.equinox.launcher lazy
+ org.eclipse.ui.ide.application lazy
+ org.eclipse.gmf.runtime.notation lazy
+}
+
+//manualUpdate
+location PapyrusDev "https://download.eclipse.org/modeling/mdt/papyrus/updates/releases/photon/"{
+ org.eclipse.papyrus.junit.framework lazy
+ org.eclipse.papyrus.junit.utils lazy
+ org.eclipse.papyrus.uml.m2m.qvto.tests.tools lazy
+}
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/pom.xml b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/pom.xml
new file mode 100644
index 0000000..81b9793
--- /dev/null
+++ b/sysml14/releng/targetplatforms/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.photon.portable</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability SysML1.4 Tests Photon Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability SysML1.4 Tests in Photon</description>
+
+</project>
\ No newline at end of file
diff --git a/sysml14/releng/targetplatforms/pom.xml b/sysml14/releng/targetplatforms/pom.xml
index 17ce606..d14f0c2 100644
--- a/sysml14/releng/targetplatforms/pom.xml
+++ b/sysml14/releng/targetplatforms/pom.xml
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability</groupId>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.releng</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.targetplatforms</artifactId>
@@ -14,17 +15,16 @@
 
 	<profiles>
 		<profile>
-      		<id>sysml14TargetMain</id>
+			<id>sysml14</id>
 			<modules>
-				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.oxygen</module>
-			</modules>      		
-    	</profile>
-    	
+				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.main.targetplatform.${version}.${target.suffix}</module>
+			</modules>
+		</profile>
 		<profile>
-      		<id>sysml14TargetTests</id>
+			<id>sysml14tests</id>
 			<modules>
-				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.oxygen</module>
-			</modules>      		
-    	</profile>
+				<module>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.targetplatform.${version}.${target.suffix}</module>
+			</modules>
+		</profile>
 	</profiles>
 </project>
\ No newline at end of file
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF
index fa476fe..8ae90c7 100644
--- a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml.tests;singleton:=true
-Bundle-Version: 0.11.0.qualifier
+Bundle-Version: 0.12.0.qualifier
 Bundle-Vendor: %Bundle-Vendor
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
@@ -13,8 +13,9 @@
  org.eclipse.papyrus.junit.utils;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.emf.compare;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.papyrus.uml.m2m.qvto.common;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.papyrus.interoperability.sysml14.sysml;bundle-version="[0.11.0,1.0.0)",
- org.eclipse.papyrus.uml.m2m.qvto.tests.tools;bundle-version="[1.0.0,2.0.0)"
+ org.eclipse.papyrus.interoperability.sysml14.sysml;bundle-version="[0.12.0,1.0.0)",
+ org.eclipse.papyrus.uml.m2m.qvto.tests.tools;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.9.0,3.0.0)"
 Bundle-Activator: org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.papyrus.interoperability.sysml14.sysml.tests,
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/pom.xml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/pom.xml
index b506395..6e3d58c 100644
--- a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/pom.xml
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/pom.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<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.interoperability.tests</groupId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
 		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.plugins</artifactId>
-		<version>0.11.0-SNAPSHOT</version>
+		<version>0.12.0-SNAPSHOT</version>
 	</parent>
 	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests</artifactId>
 	<packaging>eclipse-test-plugin</packaging>
@@ -20,7 +21,8 @@
 					<useUIThread>true</useUIThread>
 					<testFailureIgnore>true</testFailureIgnore>
 					<product>org.eclipse.sdk.ide</product>
-					<!-- If a specific <argLine> is required here, make sure to include JaCoCo parameters (See parent pom, Bug 478170) -->
+					<!-- If a specific <argLine> is required here, make sure to include 
+						JaCoCo parameters (See parent pom, Bug 478170) -->
 					<skipTests>${skipAllTests}</skipTests>
 					<testClass>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests.AllTests</testClass>
 				</configuration>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation
index 4445cf5..6aabdbb 100644
--- a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation
@@ -1,29 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_MRY5QPpwEeaCyZKNPXLxEw" name="AllocationTable0" currentRowAxisProvider="_MRZgVfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_MRZgUPpwEeaCyZKNPXLxEw" tableKindId="org.eclipse.papyrus.sysml14.table.allocation">
+<nattable:Table 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:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_MRY5QPpwEeaCyZKNPXLxEw" name="AllocationTable0" currentRowAxisProvider="_MRZgVfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_MRZgUPpwEeaCyZKNPXLxEw" tableKindId="org.eclipse.papyrus.sysml14.table.allocation">
   <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
     <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="AllocationTable_converted"/>
-    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170607112817"/>
-    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.11.0.qualifier"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20190226110413"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.12.0.qualifier"/>
   </eAnnotations>
   <context xmi:type="uml:Model" href="AllocationTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
   <owner xmi:type="uml:Model" href="AllocationTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
-  <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocationTable.configuration#_r5y7wHDuEeWh-MssWmCB_A"/>
-  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.allocation/resources/allocation.nattableconfiguration#/"/>
+  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.allocation/resources/allocation.nattableconfiguration#_Tn9sgF9WEeibbMBxjCBt2w"/>
   <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_MRZgUPpwEeaCyZKNPXLxEw" description="This provider provides the default columns for the SysML Allocation Table" name="SysMLAllocationFeatureProvider">
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgUfpwEeaCyZKNPXLxEw">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.feature.axis.manager"/>
       <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
     </axis>
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgUvpwEeaCyZKNPXLxEw">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.feature.axis.manager"/>
       <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/client"/>
     </axis>
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgU_pwEeaCyZKNPXLxEw">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.feature.axis.manager"/>
       <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/supplier"/>
     </axis>
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgVPpwEeaCyZKNPXLxEw">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.feature.axis.manager"/>
       <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/>
     </axis>
   </columnAxisProvidersHistory>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.uml
index 8551495..6d6e82e 100644
--- a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.uml
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.uml
@@ -3,8 +3,8 @@
   <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
     <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
       <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="AllocationTable"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170607112814"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.11.0.qualifier"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20190226110412"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.12.0.qualifier"/>
     </eAnnotations>
     <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
     <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
@@ -165,7 +165,7 @@
   <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
   <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
   <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
-  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw">
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw">
     <language>C++</language>
     <language>C</language>
     <language>OCL</language>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation
index 7ce951b..878e4a7 100644
--- a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation
@@ -1,24 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_Q0lXoPpwEeaCyZKNPXLxEw" name="RequirementTable0" currentRowAxisProvider="_Q0lXpfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_Q0lXofpwEeaCyZKNPXLxEw" tableKindId="org.eclipse.papyrus.sysml14.table.requirement">
+<nattable:Table 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:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_Q0lXoPpwEeaCyZKNPXLxEw" name="RequirementTable0" currentRowAxisProvider="_Q0lXpfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_Q0lXofpwEeaCyZKNPXLxEw" tableKindId="org.eclipse.papyrus.sysml14.table.requirement">
   <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
     <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="RequirementTable_converted"/>
-    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170607112859"/>
-    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.11.0.qualifier"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20190226110602"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.12.0.qualifier"/>
   </eAnnotations>
   <context xmi:type="uml:Model" href="RequirementTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
   <owner xmi:type="uml:Model" href="RequirementTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
-  <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirementTable.configuration#_lTE0gHDwEeWh-MssWmCB_A"/>
-  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#/"/>
+  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#__qulcG1gEeijMr8XjU8gCg"/>
   <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_Q0lXofpwEeaCyZKNPXLxEw" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_Q0lXovpwEeaCyZKNPXLxEw" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.stereotype.property.axis.manager"/>
     </axis>
     <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Q0lXo_pwEeaCyZKNPXLxEw">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.feature.axis.manager"/>
       <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
     </axis>
     <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_Q0lXpPpwEeaCyZKNPXLxEw" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
-      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#org.eclipse.papyrus.sysml14.nattable.requirement.stereotype.property.axis.manager"/>
     </axis>
   </columnAxisProvidersHistory>
   <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_Q0lXpfpwEeaCyZKNPXLxEw" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml
index 04ea204..94f3ee8 100644
--- a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml
@@ -3,8 +3,8 @@
   <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
     <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
       <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="RequirementTable"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170607112858"/>
-      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.11.0.qualifier"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20190226110601"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.12.0.qualifier"/>
     </eAnnotations>
     <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
     <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
@@ -166,7 +166,7 @@
   <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
   <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
   <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
-  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw">
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw">
     <language>C++</language>
     <language>C</language>
     <language>OCL</language>
diff --git a/sysml14/tests/pom.xml b/sysml14/tests/pom.xml
index 7f2642b..0e13b63 100644
--- a/sysml14/tests/pom.xml
+++ b/sysml14/tests/pom.xml
@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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.interoperability</groupId>
-	    <artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
-	    <version>0.11.0-SNAPSHOT</version>
-    </parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.root</artifactId>
+		<version>0.12.0-SNAPSHOT</version>
+	</parent>
 
-  	<groupId>org.eclipse.papyrus.interoperability.tests</groupId>
-  	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.plugins</artifactId>
-  	<version>0.11.0-SNAPSHOT</version>
+	<artifactId>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.plugins</artifactId>
+	<version>0.12.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	<description>The top container of SysML migration tests plug-ins for the Interoperability.</description>
 
 	<modules>
 		<module>org.eclipse.papyrus.interoperability.sysml14.sysml.tests</module>
 	</modules>
-	
+
 </project>
\ No newline at end of file